8721 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai un formulaire de contact avec une vérification de saisie, mais j'ai changé d'hébergeur et le nouveau tourne en php 5.3


Donc, c'est la fonction ereg qui ne passe plus en 5.3 mais je ne vois pas par quoi il faut la remplacer. J'ai eu le même problème un peu plus haut dans le code, j'ai mis la nouvelle fonction et ça à marché.

Merci de vos lumières.
Modifié par CVS (19 Aug 2012 - 11:44)
http://php.net/manual/fr/function.ereg.php

Note:

À partir de PHP 5.3.0, l'extension regex est obsolète et vous devez utiliser l'extension PCRE à la place. Appeler des fonctions de l'extension regex émettra des alertes de type E_DEPRECATED. Voir la liste des différences pour vous aider dans la conversion en PCRE.

Note:

preg_match(), qui utilise la syntaxe des expressions rationnelles compatibles PERL, est une alternative plus rapide de ereg().

Ou plus simple :

http://fr.php.net/manual/fr/function.filter-var.php
Modifié par jb_gfx (07 Aug 2012 - 12:16)
Merci mais j'y comprends rien.

je remplace ereg par quoi ?

Ligne qui pose problème :

if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.

Je suis pas un grand spécialiste, merci de votre indulgence.
jb_gfx a écrit :

preg_match(), qui utilise la syntaxe des expressions rationnelles compatibles PERL, est une alternative plus rapide de ereg().


Smiley biggol
J'ai essayé avec preg_match mais ça marche pas !!!!

if(!preg_match('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'. ...

Un petit coup de main ?
Modifié par CVS (07 Aug 2012 - 12:33)
hello,

j'ai le même problème... pour le même formulaire je pense. qu'as-tu mis au final ?
merci par avance pour ton aide !
De tête, j'ai remplacé par :

$?=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $?)));

Avec ce code ça marche nickel, en version 5.3.

Tu remplaces le ? par ta variable.
Modifié par CVS (06 Jan 2013 - 18:54)
yes merci pour les premières lignes
mais pour l'histoire
if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.
pour lequel preg_match ne fonctionnait pas et on conseillait un filter_var
j'ai mis ça mais ça ne fonctionne pas non plus...
if(filter_var('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.
'@'.
'[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.
'[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$',
$f_3)){

si tu te souviens de ce que tu as modifié ?
Bonjour à tous,

J'ai le meme problème est je troune un peu en rond !

if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.
		'@'.
		'[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.
		'[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$',
		$f_12)){


J'ai pour le moment mi @ereg pour corriger le tire mais cela n'est pas tip top !!

Avez vous une autre solution svp ?