Maison >développement back-end >tutoriel php >Comment convertir des expressions régulières ereg en preg en PHP ?

Comment convertir des expressions régulières ereg en preg en PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-20 15:02:14238parcourir

How to Convert ereg Regular Expressions to preg in PHP?

Conversion d'Ereg vers Preg en PHP

En PHP, les expressions régulières POSIX (ereg) sont obsolètes depuis la version 5.3.0. Pour faciliter la transition, il est essentiel de comprendre comment convertir les anciennes expressions ereg en PCRE (Perl Compatible Regular Expressions) (preg).

Différences de syntaxe

La syntaxe principale la différence est l'ajout de délimiteurs dans preg. Par exemple, l'expression ereg suivante :

eregi('^hello world');

doit être convertie en une expression preg_match comme celle-ci :

preg_match('/^hello world/', $str);

Les délimiteurs peuvent être divers caractères non alphanumériques, les choix courants étant ~, / et #.

Correspondance Crochets

De plus, vous pouvez utiliser des crochets correspondants comme délimiteurs :

preg_match('[^hello]', $str);
preg_match('(^hello)', $str);
preg_match('{^hello}', $str);

Délimiteurs d'échappement

Si votre délimiteur apparaît dans le format normal expression, échappez-la à l'aide d'une barre oblique inverse :

eregi('^/hello', $str);
preg_match('/^\/hello/', $str);

Pour échapper à tous les délimiteurs et les caractères réservés, utilisez preg_quote :

$expr = preg_quote('/hello', '/');
preg_match('/^'.$expr.'/', $str);

Modificateurs

PCRE prend en charge les modificateurs pour diverses fonctionnalités. Par exemple, le modificateur insensible à la casse i remplace la fonction eregi :

eregi('^hello', 'HELLO');
preg_match('/^hello/i', 'HELLO');

Exemple de conversion

Dans l'exemple fourni, une expression régulière n'est pas nécessaire. À la place, vous pouvez utiliser la fonction PHP suivante :

stripos($str, 'hello world') === 0

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn