Maison >développement back-end >tutoriel php >Pourquoi est-ce que j'obtiens l'erreur 'preg_replace(): Unknown modifier '[']' en PHP ?

Pourquoi est-ce que j'obtiens l'erreur 'preg_replace(): Unknown modifier '[']' en PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-19 17:59:19459parcourir

Why am I getting the

Erreur : "preg_replace() : Modificateur inconnu '"

Vue d'ensemble

L'erreur "preg_replace() : modificateur inconnu '[]' dans xxx.php à la ligne 38," indique un problème avec l'expression régulière utilisée dans la fonction preg_replace(). Cet article examinera la cause de cette erreur et vous guidera à travers les étapes nécessaires pour la résoudre.

Comprendre l'erreur Regex

En PHP, un l’expression doit être entourée d’une paire de délimiteurs. Les délimiteurs peuvent inclure des caractères tels que /, #, ~. Dans ce cas, l'expression régulière fournie omet les délimiteurs :

"1>1>"

Le Le moteur regex interprète cela comme un modèle sans aucun modificateur. Cependant, le caractère ] apparaît après le délimiteur fermant >, ce qui entraîne l'erreur « Modificateur inconnu '[]' ».

Correction de l'erreur : utilisation de délimiteurs

Pour résoudre ce problème, placez correctement l'expression régulière dans les délimiteurs appropriés. Par exemple :

~1>1 >~

Maintenant, l'erreur sera supprimée car le motif est correctement ci-joint.

Solution alternative : échapper aux délimiteurs

Si le caractère délimiteur apparaît par inadvertance dans votre modèle d'expression régulière, vous pouvez utiliser le caractère barre oblique inverse () pour échapper. it:

/foo2 bar/i

Ici, la barre oblique inverse avant le caractère / empêche qu'il soit interprété comme un délimiteur.

Conseils supplémentaires pour le délimiteur Utilisation

  • Choisissez des délimiteurs qui n'apparaissent pas dans votre modèle pour éviter d'avoir à vous échapper.
  • Considérez les délimiteurs de style crochet (c'est-à-dire ) car ils permettre l'utilisation de délimiteurs dans le modèle sans avoir besoin de s'échapper.

Conclusion

En utilisant des délimiteurs appropriés ou en échappant à toute instance du caractère délimiteur dans votre modèle d'expression régulière, vous pouvez éliminer le "Modificateur inconnu " erreur et améliorez l'efficacité de vos fonctions basées sur des expressions régulières.


  1. >
  2. /

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