PHP:匹配字串,同時忽略引號內的轉義引號
匹配包含在單引號(') 和雙引號( ") 內的字串,您可以使用以下常規表達式:
<br>$code = preg_replace_callback( '/"(.*?)"/', array( &$this, '_getPHPString' ), $code );<p>$code = preg_replace_callback( "#'(.*?)'# ", array( &$this, '_getPHPString' ), $code );<br></p>
但是,這些表達式不會考慮字串中的轉義引號。 🎜 >
好(但效率低):
"(<p><br>1<sup><a href="https://www.php.cn/link/d58f36f7679f85784d8b010ff248f898" rel="nofollow" target="_blank">|.)*"</a></sup><br> </p>更好<p>(透過特殊功能更有效率詞):<strong></strong></p><pre class="brush:php;toolbar:false">"(<p><br>2<sup><a href="https://www.php.cn/link/960fe54b16d890a75e845fcd23afc32d" rel="nofollow" target="_blank"> |.)*"</a></sup></p>
(展開時最有效循環):
<p><br>3<sup><a href="https://www.php.cn/link/84fec9a8e45846340fdf5c7c9f7ed66c" rel="nofollow" target="_blank"></a>(?: .</sup><em>4<sup><a href="https://www.php.cn/link/9b1cab1b93285ce58e7c1dc576ff8a14" rel="nofollow" target="_blank"></a>)*</sup></em></p>
$re_dq = '/"<p><br>5<sup><a href="https://www.php.cn/link/b594f8f8fcc3cc7910e2dcd4269a2e95" rel="nofollow" target="_blank"></a>(?:\.</sup><em>6<sup><a href="https://www.php.cn/link/096ce33c96792e289516407eb29b62bb" rel="nofollow" target="_blank"></a>)*"/s';</sup> $re_sq = "/'</em><br>7<sup><a href="https://www.php.cn/link/57947ed4d4130c7ff0a057c8654dd1a3" rel="nofollow" target="_blank"></a>(?:\.</sup><em>8<sup><a href="https://www.php.cn/link/7835a9ef21ac8378a23835829594d598" rel="nofollow" target="_blank"></a>)*'/s";</sup> </em></p>
以上是如何在 PHP 中有效匹配帶引號的字串,忽略轉義引號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!