[RESOLU] Un message d'erreur qui m'embête

Besric
Invité n'ayant pas de compte PHPfrance

07 oct. 2015, 23:12

Bonjour,

Pour un passage en PHP 5.4, j'ai modifié un fichier php avec ereg pour le remplacer par preg_match, l'expression était :

if ((!ereg("^([^/:*?\"<>|]*)$",$newfolder,$secereg))

et devient

if ((!preg_match("/^([^/:*?\"<>|]*)$/",$newfolder,$secereg))

Mais j'ai le message d'erreur du style :

Warning: preg_match(): Unknown modifier ':'

N'étant pas très calé en php, est que quelqu'un pourrait m'aider ?

Un grand merci

Eric

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

07 oct. 2015, 23:38

Bonjour,

Tu utilises comme delimiteur de début et fin de ta regex le caractère "/", or celui-ci se retrouve dans ta regex, ce qui pose problème :)

Personnellement, j'utilise toujours le caractère ` (AltGr + 7 sous Windows) car il est très rare qu'on le retrouve dans une regex donc ça limite le risque de problème.
if ((!preg_match("`^([^/:*?\"<>|]*)$`",$newfolder,$secereg))
Quand tout le reste a échoué, lisez le mode d'emploi...

Besric
Invité n'ayant pas de compte PHPfrance

07 oct. 2015, 23:56

Je comprends, merci beaucoup :D