Problème d'expressions régulières

Twister

WRInaute occasionnel
Code:
$phpEx = "php";
$url = "index.$phpEx?c=12";
if (eregi("^index.$phpEx?c=([[:digit:]]+)$", $url)){
	$url = eregi_replace("^index.$phpEx?c=([[:digit:]]+)$", "categorie-\\1.html", $url);
}
echo $url
J'ai un problème avec les expressions régulières : ce code ne modifie pas $url. :cry:

Est-ce que quelqu'un a une idée :?:
 

George Abitbol

WRInaute passionné
Arg, pourquoi ces sales fonctions ereg, si lentes et moches ? :D

Code:
$url = preg_replace('/^index\.'.$phpEx.'\?c=([0-9]+)/i', 'categorie-$1.html', $url);

Ton problème venait sans doute du fait que tu utilisais des caractères tels que ? et . qui ont besoin d'être échappés (car ils ont une signification particulière pour les expressions régulières).

Fred
 

Discussions similaires

Haut