Maison > développement back-end > tutoriel php > Comment ignorer les guillemets échappés dans PHP Regex ?

Comment ignorer les guillemets échappés dans PHP Regex ?

Patricia Arquette
Libérer: 2024-11-28 17:29:11
original
469 Les gens l'ont consulté

How to Ignore Escaped Quotes in PHP Regex?

Regex pour ignorer les guillemets échappés dans les guillemets en PHP

En PHP, il est souvent nécessaire d'analyser et de manipuler des chaînes contenant des guillemets échappés. Les expressions régulières existantes utilisées pour faire correspondre les chaînes entre guillemets simples et doubles ne peuvent pas ignorer les guillemets d'échappement, ce qui peut conduire à des résultats inattendus.

Solution :

Pour ignorer les guillemets d'échappement entre guillemets, nous pouvons utiliser les expressions régulières suivantes :

Double Citations :

$re_dq = '/"[^"\\]*(?:\\.[^"\\]*)*"/s';
Copier après la connexion

Citations simples :

$re_sq = "/'[^'\\]*(?:\\.[^'\\]*)*'/s";
Copier après la connexion

Ces expressions rationnelles suivent les principes décrits par Jeffrey Friedl dans son livre "Mastering Regular Expressions". Ils permettent la correspondance des caractères d'échappement, y compris les guillemets.

Le code PHP recommandé pour remplacer les guillemets simples et doubles est :

$code = preg_replace_callback( $re_dq, array( &$this, '_getPHPString' ), $code );

$code = preg_replace_callback( $re_sq, array( &$this, '_getPHPString' ), $code );
Copier après la connexion

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!

source:php.cn
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