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

Comment puis-je convertir efficacement les expressions régulières ereg en preg en PHP ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-03 22:19:40355parcourir

How Can I Effectively Convert ereg Regular Expressions to preg in PHP?

Conversion des expressions régulières ereg en preg en PHP

Comme PHP 5.3.0 rend obsolète les expressions régulières POSIX (ereg), la conversion des anciennes expressions ereg en PCRE (Perl Compatible Regular Expressions) (preg) devient indispensable. Cet article fournit un guide simplifié pour faciliter cette transition.

Contrairement à ereg, preg nécessite des délimiteurs aux deux extrémités de l'expression régulière. Les délimiteurs couramment utilisés incluent ~, / et #. Par exemple, l'expression ereg "^hello world" peut être convertie en preg_match("/^hello world/") en la plaçant entre des barres obliques.

Les parenthèses correspondantes peuvent également servir de délimiteurs, permettant des variations telles que 1, (^bonjour) et {^bonjour}. Cependant, les délimiteurs inclus dans l'expression doivent être échappés à l'aide d'une barre oblique inverse. Exemple : ereg("^/hello", $str) devient preg_match('/^/hello/', $str).

la fonction preg_quote s'avère utile pour échapper aux délimiteurs et aux caractères réservés dans une chaîne. Exemple : $expr = preg_quote('/hello', '/'); preg_match('/^'.$expr.'/', $str).

PCRE prend en charge des modificateurs comme i (insensible à la casse), équivalent à eregi. Exemple : eregi('^hello', 'HELLO') peut être remplacé par preg_match('/^hello/i', 'HELLO').

Pour des références détaillées sur la syntaxe PCRE et des conseils de conversion ereg-PCRE, consultez le manuel PHP.

Dans certains cas, les expressions régulières peuvent ne pas être nécessaires. Pour l'exemple fourni (eregi('^hello world')), une comparaison simplifiée utilisant stripos($str, 'hello world') === 0 peut suffire.


  1. Bonjour

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