10
votes

Comment remplacer EREG?

Je reçois le message suivant pour certains PHP que je dois utiliser mais n'a pas écrit:

if(ereg('^([^=]*)=["\']?([^"\']*)["\']?$',$v,$a3))


1 commentaires

3 Réponses :


2
votes

Essayez:

if(preg_match('~^([^=]*)=["\']?([^"\']*)["\']?$~',$v,$a3))


0 commentaires

0
votes

Le PREG _ CODE> La famille s'attend à ce que la regex soit délimitée. Au lieu de: XXX PRE>

Essayez: P>

'/^([^=]*)=["\']?([^"\']*)["\']?$/'


0 commentaires

6
votes

POSIX Expressions régulières étendues (POSIX ERE> (POSIX ERE, utilisé par ereg ) et expressions régulières perl-mixtes (pcre, utilisé par Preg_Match ) sont très similaires. Sauf de Certaines expressions spéciales de POSIX , PCRE est un superset de POSIX EERE.

que signifie que vous avez juste besoin de mettre vos expressions posix ere régulières dans Délimiteurs (ici / ) et échapper à n'importe quelle occurrence de ce caractère à l'intérieur de l'expression régulière et que vous avez une expression régulière PCRE valide: xxx

SO: xxx


1 commentaires

Pas vraiment un superset (en plus des classes de personnages), par ex. correspondant / ab | abc / sur abcd avec ere donnera la correspondance la plus longue ( abc ) mais PCRE donnera au premier match ( Ab ).