2012-08-16 63 views
3

我需要修改HTML標記,以便匹配的單詞或短語獲得高亮顯示,但該短語可能包含標記。例如:將與格式匹配的短語匹配的HTML搜索

˚F泰德文本:

This <b>f<i>or</i>mat</b>ted text 

我希望能夠找到「這格式化」,敷在<style="color:lightblue" </span>標籤

所以以上將成爲:

<span style="color:yellow">This <b>f<i>or</i>mat</b>ted</span> text 

我在Linux上使用PHP。

感謝

編輯: 我不希望更換標籤,但該範圍內有標籤的匹配文本。基本上匹配一個可以用任何類型或長度的任意標籤分隔的字符串。 請忽略我古老的html標籤,它們只是更容易輸入。

+0

可能重複的問題: http://stackoverflow.com/questions/3376051/how-to-use-php-preg-replace-to-replace-html-tags – 2012-08-16 17:25:37

+0

也許我並不清楚,我不我不想找到並替換標籤,就像其他帖子一樣,我希望找到一個包含標籤的短語,並突出顯示整個短語,而不會影響已經存在的標籤。 – ejether 2012-08-16 17:31:04

回答

0

如果我正確理解問題,則可以使用preg_match查找指定的字符串,然後將其替換爲您的標記所包圍的版本。

+0

我用正則表達式不強,但我能找到的所有東西都表明使用正則表達式搜索HTML是行不通的。你能告訴我如何使用preg_match來找到散佈有任意標籤的短語嗎? – ejether 2012-08-16 17:46:36

+0

這取決於你如何使用它。這是爲了搜索整個頁面,還是僅僅搜索一部分?當頁面加載時需要執行一次,還是每次用戶點擊/輸入文本時都要動態執行? – HypnoticSheep 2012-08-16 17:59:00

+0

我在搜索HTML代碼片段並顯示突出顯示的版本,而不是動態的。 – ejether 2012-08-16 18:13:59