Maison >développement back-end >Problème PHP >Comment échapper aux caractères spéciaux réguliers en php
Comment échapper aux caractères spéciaux réguliers en PHP : créez d'abord un exemple de fichier PHP ; puis définissez la chaîne ; enfin échappez les caractères spéciaux via des barres obliques inverses et analysez les variables.
Recommandé : "Tutoriel vidéo PHP"
Expressions régulières PHP récemment utilisées, J'ai rencontré quelques problèmes lors de l'écriture de chaînes d'expression. Je ne sais pas quand je dois utiliser la barre oblique inverse "".
Il existe 4 façons de définir une chaîne PHP :
Lors de la définition d'une chaîne, les caractères spéciaux seront échappés et les variables seront analysées.
Les caractères spéciaux incluent :
项目 | 内容 | 备注 |
换行 | n | LF 或 0x0A |
回车 | r | CR 或 0x0D |
水平制表符 | t | HT 或 0x09 |
垂直制表符 | v | VT 或 0x0B |
换页 | f | FF 或 0x0C |
反斜杠 | \ | |
美元符号 | $ | |
双引号 | " | |
单引号 | ' | |
8进制字符 | [0-7]{1,3} | |
16进制字符 | x[0-9A-Fa-f]{1,2} |
Voir le manuel PHP pour plus de détails sur cette partie. Voici une brève description :
Dans les guillemets simples, échappez le guillemet simple (') et la barre oblique inverse (), et affichez la signification originale des autres caractères
Dans les guillemets doubles, les caractères spéciaux à l'exception des guillemets doubles (") sont échappés et les variables sont analysées. Par conséquent, dans ces deux définitions de chaîne courantes, la barre oblique inverse ( ) doit toujours être échappée. Expressions régulières PHPPHP fournit deux ensembles de bibliothèques de fonctions d'expressions régulières : [Référence] Un ensemble est fourni par la bibliothèque PCRE (Perl Compatible Regular Expression) nommée avec le. préfixe "preg_";Un ensemble de fonctions fournies par les extensions POSIX (Portable Operating System Interface of Unix) (fonctions PHP par défaut
Utilise actuellement uniquement des fonctions régulières de style Perl, et seuls ce type de chaînes sont expliqués ci-dessous 🎜>
Expression régulière de style Perl, devant être contenue dans des délimiteurs ("/). " ou "#"), comme suit : [Référence]$str = 'http://www.youku.com/show_page/id_ABCDEFG.html'; $regex = '/^http:\/\/([\w.]+)\/([\w]+)\/([\w]+)\.html$/i'; $regex = '#^http://([\w.]+)/([\w]+)/([\w]+)\.html$#i';Pour Pour diviser une URL, la variable $regex définit la chaîne d'expression régulière : ^http://([w .]+)/([w]+)/([w]+). html$Cette chaîne contient des caractères spéciaux, tels que "/" et ".", qui doivent être échappés et défini avec une barre oblique inverse ("") dans le style Perl, comme suit :
^http://([w.]+)/([w]+)/([w]+).html$En même temps, cette chaîne doit être incluse dans le délimiteur , il existe donc les deux types d'expressions ci-dessus ; avec "#" comme délimiteur, il n'est pas nécessaire d'échapper au "/" échappement d'expression régulière
Dans les expressions régulières, pour correspondre aux caractères simples suivants, ils doivent être échappés avec une barre oblique inverse ("") :
Dans les expressions régulières de style Perl, si le Le caractère unique suivant correspond, ou celui ci-dessus ne l'est pas. Le caractère unique correspondant doit également être échappé avec une barre oblique inverse ("") :
^=}]/:a8093152e673feb7aba1828c43532094.'"
Résumé
Pour écrire une chaîne d'expression régulière de style Perl correcte, trois étapes sont nécessaires :
dans le caractère délimiteur et échappez-le à l'aide des règles d'échappement de style Perl
Échapper le contenu de la chaîne ci-dessus selon la définition de chaîne PHP
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!