Maison >développement back-end >tutoriel php >Comment puis-je faire correspondre efficacement les chaînes entre guillemets en PHP, en ignorant les guillemets échappés ?
PHP : faire correspondre les chaînes tout en ignorant les guillemets échappés dans les guillemets
Pour faire correspondre les chaînes placées entre guillemets simples (') et doubles (") , vous pouvez utiliser les expressions régulières suivantes :
<br>$code = preg_replace_callback( '/"(.*?)"/', array( &$this, '_getPHPString' ), $code );</p> <p>$code = preg_replace_callback( "#'(.*?)' #", tableau( &$this, '_getPHPString' ), $code );<br>
Cependant, ces expressions ne tiennent pas compte des guillemets échappés dans les chaînes. Pour ignorer les guillemets échappés, vous pouvez utiliser des expressions régulières plus sophistiquées :
<.>Bien (Mais Inefficace):
<p>"(<br><sup>1<a href="https://www.php.cn/link/d58f36f7679f85784d8b010ff248f898" rel="nofollow" target="_blank"></a>|.)*"</sup>
Mieux (Plus efficace avec des Quantificateurs) :
<p>"(<br><sup>2<a href="https://www.php.cn/link/960fe54b16d890a75e845fcd23afc32d" rel="nofollow" target="_blank"></a> |.)*"</sup>
Meilleur (Le plus efficace avec déroulé Boucle):
<p><br><sup>3<a href="https://www.php.cn/link/84fec9a8e45846340fdf5c7c9f7ed66c" rel="nofollow" target="_blank"></a></sup>(?:.<em><sup>4<a href="https://www.php.cn/link/9b1cab1b93285ce58e7c1dc576ff8a14" rel="nofollow" target="_blank"></a></sup>)*</em>
<p>$re_dq = '/"<br><sup>5<a href="https://www.php.cn/link/b594f8f8fcc3cc7910e2dcd4269a2e95" rel="nofollow" target="_blank"></a></sup>(?:\.<em><sup>6<a href="https://www.php.cn/link/096ce33c96792e289516407eb29b62bb" rel="nofollow" target="_blank"></a></sup>)*"/s';</em> $re_sq = "/'<br><sup>7<a href="https://www.php.cn/link/57947ed4d4130c7ff0a057c8654dd1a3" rel="nofollow" target="_blank"></a></sup>(?:\.<em><sup>8<a href="https://www.php.cn/link/7835a9ef21ac8378a23835829594d598" rel="nofollow" target="_blank"></a></sup>)*'/s";</em>
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!