我正在尋找正則表達式(php)來查找/替換網頁中的某些單詞。但是,它不能替換所有html標籤之間的單詞,只能在以下內容之間進行替換:斜體< i>,粗體< b>和純文本。正則表達式替換網頁中的單詞
實施例:
詞: 「你好」(不區分大小寫)
<a href="#">Hello</a> im a writer that i like to say hello everyday. <b>Hello</b> Spiderman.
替代:在錨着的更換,僅你好和< b>Hello< /b>
可以被替換。
我測試了一些正則表達式,但沒有正常工作:
1)從SMART SEO鏈接(WP插件)
$reg = '/(?!(?:[^<\[]+[>\]]|[^>\]]+<\/a>))\b($word)\b/Imsu';
不能很好地工作,有時,刪除該內容,並把simbol「>」 我對這個正則表達式做了一些修改,刪除了「?!」或「?:」(我不知道是什麼意思),但停止工作。
2)其他我已經試過:
$reg = "/<([\w]+)[^>]*>\b('.$word.')\b<\/\1>/Imsu";
$reg = '/<+\s*\/\s\b('.$word.')\b[^>]\/\s>+/I';
不能代替任何
$reg = '/<(\w+)[^>]*>\b('.$name.')\b<\/\1>/Imsu';
有時工作。
事實是,我不是正則表達式專家,我幾天測試,試圖創建一個新的正則表達式,但沒有達到我需要的結果。
事實是,取代將在WP插件使用,這有時會影響到模板或其他插件或DOM心不是很好創建
任何人有任何想法,爲什麼不能正常工作?謝謝。這些模式的
Id'爲此使用DOM,也許是http://simplehtmldom.sourceforge.net/。 – elclanrs 2013-05-07 10:52:52