Maison >développement back-end >tutoriel php >Comment écrire une expression régulière PHP pour ignorer les guillemets échappés dans les chaînes entre guillemets ?
PHP : expression régulière pour ignorer les guillemets échappés dans les guillemets
Dans ce scénario, vous souhaitez modifier les expressions régulières existantes qui extraient les chaînes entourées par guillemets simples (') ou doubles (") pour ignorer les guillemets échappés à l'intérieur de ces guillemets. L'objectif est de permettre aux données entre guillemets simples d'ignorer les guillemets simples échappés. (') et les données entre guillemets doubles pour ignorer les guillemets doubles échappés (").
Solution :
Pour y parvenir, vous pouvez utiliser les expressions régulières suivantes, optimisées pour plus d'efficacité :
Citation double Chaînes :
"[^"\\]*(?:\\.[^"\\]*)*"/s
Chaînes entre guillemets simples :
/'[^'\\]*(?:\\.[^'\\]*)*'/s
Explication :
Ces chaînes régulières les expressions se composent de ce qui suit composants :
En combinant ces modèles, les expressions régulières capturent efficacement les chaînes entre guillemets tout en ignorant les guillemets échappés.
Exemple de code PHP :
$re_dq = '/"[^"\\]*(?:\\.[^"\\]*)*"/s'; $re_sq = "/'[^'\\]*(?:\\.[^'\\]*)*'/s"; $code = preg_replace_callback($re_dq, array($this, '_getPHPString'), $code); $code = preg_replace_callback($re_sq, array($this, '_getPHPString'), $code);
Ce code extraira désormais correctement les chaînes entre guillemets, en ignorant les guillemets échappés à l'intérieur eux.
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!