Maison  >  Article  >  développement back-end  >  Comment utiliser le remplacement régulier en php

Comment utiliser le remplacement régulier en php

Guanhui
Guanhuioriginal
2020-05-05 17:24:543160parcourir

Comment utiliser le remplacement régulier en php

Utilisation du remplacement régulier en php

preg_replace introduction

preg_replace — Effectue une recherche et un remplacement d'expression régulière

preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] ) : mixed

pour rechercher des parties du sujet qui correspondent au modèle et les remplace par remplacement.

paramètre preg_replace

pattern

Le modèle à rechercher. Peut être une chaîne ou un tableau de chaînes.

Certains modificateurs PCRE peuvent être utilisés.

remplacement

Une chaîne ou un tableau de chaînes à utiliser pour le remplacement. Si cet argument est une chaîne et que le modèle est un tableau, alors tous les modèles sont remplacés par cette chaîne. Si motif et remplacement sont tous deux des tableaux, chaque motif est remplacé par l'élément correspondant en remplacement. S'il y a moins d'éléments en remplacement que dans le motif, le motif supplémentaire est remplacé par une chaîne vide.

le remplacement peut contenir des références arrière\n ou $n, cette dernière étant préférée grammaticalement. Chacune de ces références sera remplacée par le texte capturé par le nième sous-groupe de capture correspondant. n peut être compris entre 0 et 99, \0 et $0 représentent le texte complet de correspondance de modèle. La méthode de comptage du numéro de série du sous-groupe de capture est la suivante : le support gauche représentant le sous-groupe de capture est compté de gauche à droite, en commençant par 1. Si vous souhaitez utiliser des barres obliques inverses en remplacement, vous devez utiliser 4 ("\\", annotation du traducteur : Comme il s'agit d'abord d'une chaîne PHP, après échappement, elle est de deux, puis elle est considérée par le moteur d'expression régulière comme une chaîne originale. barre oblique inverse).

Lorsque vous travaillez en mode remplacement et que la référence arrière doit être suivie d'un autre numéro (par exemple : ajouter un numéro d'origine immédiatement après un motif correspondant), vous ne pouvez pas utiliser la syntaxe \1 pour décrire les références arrière. Par exemple, \11 empêchera preg_replace() de comprendre si vous souhaitez une référence arrière \1 suivie d'un 1 d'origine, ou une référence arrière \11 suivie de rien. La solution dans ce cas est d'utiliser ${1}1. Cela crée une référence arrière $1 distincte, une source1 distincte.

Lors de l'utilisation du modificateur e obsolète, cette fonction échappera certains caractères (c'est-à-dire : ', " et NULL), puis effectuera le remplacement de la référence arrière. Veuillez vous assurer de faire une référence arrière lorsque cela est fait. Après l'analyse, il n'y a pas de référence arrière. erreurs de syntaxe causées par des guillemets simples ou doubles (par exemple : 'strlen('$1')+strlen("$2")'). Assurez-vous qu'il est conforme à la syntaxe de chaîne de PHP et à la syntaxe eval. la chaîne de résultat sous forme de code PHP en utilisant la méthode eval et utilisez la valeur de retour comme chaîne finale impliquée dans le remplacement

sujet

ou la chaîne à rechercher et à remplacer

Si le sujet est un tableau, la recherche et le remplacement sont effectués sur chaque élément du sujet, et la valeur de retour sera également un tableau. >Nombre maximum de substitutions par modèle La valeur par défaut est -1 (illimité).

count

Si spécifié, sera rempli avec le nombre de substitutions terminées 🎜>

valeur de retour preg_replace

Si le sujet est un tableau, preg_replace. () renvoie un tableau, sinon il renvoie une chaîne s'il est trouvé, le sujet remplacé est renvoyé, sinon le sujet inchangé est renvoyé. Si une erreur se produit,

est renvoyé.

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