如何使用 PHP 正規表示式安全地替換 HTML 標籤以外的文字?

Linda Hamilton
發布: 2024-11-26 16:08:13
原創
272 人瀏覽過

How to Safely Replace Text Outside HTML Tags Using PHP Regular Expressions?

如何在PHP 正規表示式中排除HTML 標籤內的符合

在HTML 文件上執行正規表示式搜尋與取代時,這是必不可少的以確保替換不會無意中修改HTML 標記。為了回應這項挑戰,這裡有一個在PHP 正規表示式中使用前瞻斷言的解決方案:

$pattern = "/(asf|foo|barr)(?=[^>]*(<|$))/";
登入後複製

說明:

  • 模式分組: 此模式包含三個可能的搜尋字詞(asf、foo 和barr)
  • 前瞻性斷言: 前瞻性斷言(?=[^>]*(<|$)) 符合任何出現的搜尋項,後面接著任意數量的搜尋項非>字元(最多但不包括<)或行尾。

因此,此正規表示式會忽略 HTML 標記內出現的匹配,從而有效防止對 HTML 進行不必要的修改結構。此表達式可以在 preg_replace() 中使用,以選擇性地定位 HTML 標記以外的文字。

例如,考慮以下HTML 文字:

<a href="example.com" alt="yasar home page">yasar</a>
登入後複製

將preg_replace() 函數與提供的模式,您可以將錨標記之外出現的yasar 替換為自訂span 標記,結果in:

<a href="example.com" alt="yasar home page">yasar</a>
yasar
登入後複製

在此範例中,錨標記內的alt 屬性保持不變。

以上是如何使用 PHP 正規表示式安全地替換 HTML 標籤以外的文字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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