正規表示式符合HTML 標籤外部以進行選擇性標記
使用preg_replace 將標籤新增至特定單字時防止HTML 標籤內的符合對於HTML頁面,定義排除這些內容的正則表達式至關重要
原始模式:
preg_replace("/(asf|gfd|oyws)/", '<span>
弱點:
上面的模式也會符合目標的實例HTML標籤內的單字,即
增強模式:
/(asf|foo|barr)(?=[^>]*(<|$))/
細分:
*:匹配零或更多字元(不包括結束 HTML 標記 )。
工作原理:
此模式僅在目標單字不符時才匹配目標單字緊接著是結束 HTML 尖括號。它有效地限制了 HTML 標籤外部的匹配,防止其中的無意修改。
範例:
<p>I am making a preg_replace on HTML page. My pattern is aimed to add surrounding tag to some words in HTML. However, sometimes my regular expression modifies HTML tags. For example, when I try to replace this text:</p> <pre class="brush:php;toolbar:false"><a href="example.com" alt="yasar home page">yasar</a>
考慮以下 HTML:
<p>I am making a preg_replace on HTML page. My pattern is aimed to add surrounding tag to some words in HTML. However, sometimes my regular expression modifies HTML tags. For example, when I try to replace this text:</p> <pre class="brush:php;toolbar:false"><a href="example.com" alt="yasar home page">yasar</a>So that yasar reads
以上是如何使用正規表示式避免在替換過程中修改 HTML 標籤內的文字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!