PHP ereg vs preg
Je l'ai remarqué dans le PHP bibliothèque regex il y a un choix entre ereg et preg. Quelle est la différence? Est une plus vite que les autres et, si oui, pourquoi n'est-ce pas le plus lent obsolète?
Existe-il des situations où il est préférable d'utiliser l'un plutôt que l'autre?
Vous devez vous connecter pour publier un commentaire.
Visite php.net/ereg affiche les éléments suivants:
Bas de la page, juste un peu plus loin, nous lisons ceci:
Remarque de mon accent.
mb_ereg_match()
, et d'autres multi-octets ereg fonctions, ne sont pas obsolètes.preg est le Perl Compatible bibliothèque Regex
ereg est la POSIX complient bibliothèque regex
Ils ont un peu diffrent de la syntaxe et de la preg est dans certains cas un peu plus rapide. ereg est obsolète (et il est retiré en php6), de sorte que je ne recommande pas ce qu'il est utilisé.
Il y a beaucoup de discussion sur qui est plus rapide et de meilleure qualité.
Si vous prévoyez un jour de l'avancement de PHP6 de votre prise de décision. Sinon:
Le consensus général est que PCRE est la meilleure solution, mais si vous avez une page avec beaucoup de trafic, et vous n'avez pas besoin de PHP6 il peut être intéressant de certains tests.
Par exemple, dans le manuel PHP commentaires:
Même si ereg est obsolète depuis PHP 5.3, la mb_ereg* les fonctions ne sont pas. Je crois que la principale raison pour cela est parce que PHP6 est la reconstruction de tous les MO/support de l'Unicode et, par conséquent, l'ancien "régulier" ereg méthodes sont inutiles puisque le mb_ereg sera plus récent/mieux.
Je sais qu'il ne faut pas répondre à la question concernant la vitesse, mais il ne vous permet pas de continuer à utiliser les deux POSIX et PCRE.
Bien, ereg et de ses dérivées des fonctions (ereg_match, etc) sont déconseillés en php5 et d'être supprimé dans php6, alors vous êtes probablement mieux d'aller avec la preg de la famille à la place.
preg est pour Perl-style expressions régulières, tandis que ereg est la norme POSIX regex.