Maison >développement back-end >tutoriel php >Explication détaillée de la fonction preg_match_all dans les expressions régulières php
Fonction dans l'expression régulière PHP Nous avons déjà créé une fonction preg_match pour vous, je pense que vous en savez tous quelque chose. Alors, quelle est l'utilisation spécifique de la fonction preg_match_all dans l'expression régulière PHP ? Aujourd'hui, nous allons vous amener à comprendre l'explication détaillée de la fonction preg_match_all dans les expressions régulières PHP !
Avant de comprendre les expressions régulières, vous devez maîtriser certaines connaissances de base des expressions régulières couramment utilisées. Si vous vous en souvenez, il est préférable de vous en souvenir. Si vous ne vous en souvenez pas, vous pouvez les rechercher quand. vous devez les utiliser. Juste quelques Le caractère spécial , donc les expressions régulières sont spéciales. Vous pouvez consulter des instructions plus détaillées pour plus de détails.
Pour des instructions détaillées sur la fonction preg_match_all, vous pouvez consulter le manuel PHP. Cet article utilise preg_match_all pour tester l'effet des expressions régulières.
Exemple de code :
$html = '<p id="biuuu">jb51.net</p><p id="biuuu_2">jb51.net2</p><p id="biuuu_3">jb51.net3</p>';
Exemples d'exigences : Retirez l'ID et le contenu de chaque élément p, tels que biuuu, biuuu_2, biuuu_3, jb51.net, jb51.net2 et jb51.net3 (certaines méthodes de saisie de sites Web couramment utilisées sont mises en correspondance de cette manière)
Analyse :
String est un élément de base Élément HTML , chaque élément p correspond à un identifiant et un contenu, et est indépendant. Considérez d'abord comment extraire la valeur de l'ID et le contenu d'un p, tel que : jb51.net, puis en faire correspondre d'autres similaires. élément. Deux valeurs doivent être extraites d'un p, c'est-à-dire deux expressions correspondantes. La première expression est utilisée pour correspondre à la valeur de l'ID (biuuu) et la deuxième expression est utilisée pour correspondre au contenu de l'ID (jb51.net). ). Les expressions régulières couramment utilisées dans les expressions utilisent des parenthèses, alors les éléments précédents deviendront la forme suivante :
<p id="(biuuu)">(jb51.net)</p> <p id="(表达式1)">(表达式2)</p>
D'accord, utilisez les parenthèses ci-dessus pour diviser la zone qui doit correspondre, et Ensuite, voici comment faire correspondre le contenu de chaque expression. Nous supposons qu'un identifiant peut être constitué de lettres, de chiffres ou de traits de soulignement. Cela peut alors être réalisé en utilisant des crochets, comme suit :
Expression 1 :
[a-zA-Z0-9_]+ (表示匹配大小写字母,数字和下划线)Ensuite, comment faire correspondre l'expression 2, car le contenu de l'ID peut être n'importe quel caractère, mais attention, il ne peut pas correspondre aux caractères fa00c96dd4d14eb3ffc3768a6c327892, comme suit :
expression Formule 2 :
[^<>]+ (表示不匹配<和>字符)De cette façon, la sous-expression qui doit être mise en correspondance est réalisée, mais une expression qui doit être mise en correspondance est également nécessaire La méthode. est la suivante :
Expression : / '"(Expression 1)"'>(Expression 2)94b3e26ee717c64999d7867364b1b4a3/
Faites attention aux guillemets doubles " et / qui doivent être échappés avec des caractères d'échappement , puis insérez les deux premières expressions,
est le suivant :
'\"([a-z0-9_]+)\"'>/<p id=\"([a-z0-9_]+)\">([^<>]+)<\/p>/De cette façon, une expression régulière correspondant à la valeur ID et au contenu de chaque L'élément p est implémenté, puis la fonction preg_match_all est utilisée pour tester comme suit :
$html = '<p id="biuuu">jb51.net</p><p id="biuuu_2">jb51.net2</p><p id="biuuu_3">jb51.net3</p>'; preg_match_all('/Résultat :([^<>]+)<\/p>/',$html,$result); var_dump($result);
array(3) { [0]=> array(3) { [0]=> string(30) "<p id="biuuu">jb51.net</p>" [1]=> string(33) "<p id="biuuu_2">jb51.net2</p>" [2]=> string(33) "<p id="biuuu_3">jb51.net3</p>" } [1]=> array(3) { [0]=> string(5) "biuuu" [1]=> string(7) "biuuu_2" [2]=> string(7) "biuuu_3" } [2]=> array(3) { [0]=> string(8) "jb51.net" [1]=> string(9) "jb51.net2" [2]=> string(9) "jb51.net3" } }Il y a trois expressions au total La valeur correspondant à chaque expression. est affiché respectivement et stocké sous la forme d'un tableau. De cette façon, l'ID et le contenu de chaque élément p sont retirés. La chose la plus importante lors de l'utilisation d'expressions régulières est de savoir ce qui est nécessaire, puis d'effectuer une correspondance avec cela, et avoir une idée claire, et utiliser la fonction preg_match_all pour effectuer le débogage de sortie, ce qui est très pratique Résumé :
Après avoir lu cet article et l'article précédent, je pense que chacun a le sien. compréhension et compréhension de ces deux fonctions dans les expressions régulières PHP. J'espère que cela vous aidera. Le travail est utile
Recommandations associées :Explication détaillée de la fonction preg_match dans les expressions régulières PHP
Cas d'adresse e-mail de vérification des expressions régulières PHPCe 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!