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
Libérer: 2024-12-20 15:02:14
original
195 Les gens l'ont consulté

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');
Copier après la connexion

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

preg_match('/^hello world/', $str);
Copier après la connexion

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);
Copier après la connexion

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);
Copier après la connexion

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

$expr = preg_quote('/hello', '/');
preg_match('/^'.$expr.'/', $str);
Copier après la connexion

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');
Copier après la connexion

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal