Maison > développement back-end > tutoriel php > Pourquoi est-ce que je reçois l'erreur « Avertissement : preg_replace() : Modificateur inconnu » en PHP ?

Pourquoi est-ce que je reçois l'erreur « Avertissement : preg_replace() : Modificateur inconnu » en PHP ?

Susan Sarandon
Libérer: 2024-12-25 12:20:32
original
1007 Les gens l'ont consulté

Why Am I Getting the

Avertissement : preg_replace() : modificateur inconnu

Comprendre l'erreur

L'erreur "Avertissement : preg_replace( ) : Modificateur inconnu » se produit généralement lorsque vous spécifiez un modificateur non valide dans votre modèle d'expression régulière. Une expression régulière se compose d'un modèle et de modificateurs entourés de délimiteurs.

Causes de l'erreur

Il existe deux raisons courantes pour cette erreur :

  1. Délimiteurs manquants : Le modèle d'expression régulière n'est pas correctement enfermé dans délimiteurs.
  2. Délimiteurs sans échappement : Vous avez utilisé le caractère délimiteur à l'intérieur du motif sans l'échapper à l'aide d'une barre oblique inverse ().

Résolution

1. Ajouter des délimiteurs :

Si vous n'avez pas fourni de délimiteurs, placez simplement le modèle entre des délimiteurs valides, tels que /, #, ~ ou [].

Exemple :

preg_replace("/<div[^>]*><ul[^>]*>/", "", wp_nav_menu(array('theme_location' => 'nav', 'echo' => false)));
Copier après la connexion

2. Échapper aux délimiteurs :

Si le motif contient le caractère délimiteur, échappez-le à l'aide d'une barre oblique inverse.

Exemple :

preg_replace("/foo[^/]+bar/i", "", "foo/bar");
Copier après la connexion

3. Utilisez différents délimiteurs :

Si l'échappement des délimiteurs devient fastidieux, envisagez d'utiliser un délimiteur qui n'apparaît pas dans le modèle, tel que #.

Exemple :

preg_replace("#<div[^>]*><ul[^>]*>#", "", wp_nav_menu(array('theme_location' => 'nav', 'echo' => false)));
Copier après la connexion

Ressources supplémentaires

  • [PHP Délimiteurs d'expressions régulières](https://www.php.net/manual/en/reference.pcre.pattern.syntax.php)
  • [Comment puis-je convertir des expressions ereg en preg en PHP ? (délimiteurs manquants)](https://stackoverflow.com/questions/2846236/how-can-i-convert-ereg-expressions-to-preg-in-php-missing-delimiters)
  • [Inconnu modificateur '/' dans …? qu'est-ce que c'est? (sur l'utilisation de preg_quote())](https://stackoverflow.com/questions/426482/unknown-modifier-in-what-is-it-on-using-preg-quote)

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 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