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

藏色散人
Libérer: 2023-03-06 18:30:01
original
4689 Les gens l'ont consulté

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.

Comment échapper aux caractères spéciaux réguliers en php

Recommandé : "Tutoriel vidéo PHP"

Questions

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

Chaîne PHP

Il existe 4 façons de définir une chaîne PHP :

  • Guillemets simples
  • Guillemets doubles
  • Syntaxe hérdoc structure
  • structure de la syntaxe nowdoc (depuis PHP 5.3.0)

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 PHP

PHP 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

les expressions régulières fournissent des fonctions de correspondance, de remplacement et de fractionnement). 🎜>

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';
Copier après la connexion

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 ("") :

^=}]/:<>.'"

Résumé

Pour écrire une chaîne d'expression régulière de style Perl correcte, trois étapes sont nécessaires :

Écrivez l'expression régulière correcte, faites attention à l'échappement des caractères spéciaux

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!

Étiquettes associées:
php
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 numéros
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal