首頁 > 後端開發 > php教程 > 如何在 PHP 中有效匹配帶引號的字串,忽略轉義引號?

如何在 PHP 中有效匹配帶引號的字串,忽略轉義引號?

Mary-Kate Olsen
發布: 2024-11-29 13:01:10
原創
783 人瀏覽過

How Can I Efficiently Match Quoted Strings in PHP, Ignoring Escaped Quotes?

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>
登入後複製

這些改進的表達式將允許在各自的帶引號字串中忽略轉義引號(' 和")。對於 PHP 語法,請使用以下內容:

$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>
登入後複製

這些正規表示式可以提供準確、高效的字串匹配,即使在處理轉義引號。

  1. "
  2. "
  3. "
  4. " >
  5. "\
  6. "\
  7. '\
  8. '\

以上是如何在 PHP 中有效匹配帶引號的字串,忽略轉義引號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板