2012-04-10 167 views
0

有許多jQuery文本突出顯示例程(插件)可用,例如Johann Burkard和Bartek Szopka提供的那些,但迄今爲止我發現的所有例程都失敗突出顯示包含HTML文本格式標籤的任何文本。jQuery突出顯示包含文本格式標籤的HTML

例如,如果我要強調這句話「Lorem存有悲坐阿梅德」和HTML頁面包含短語Lorem ipsum <strong>dolor</strong> sit amet,那麼這句話的發生並不突出。

同樣,如果我希望突出顯示單詞「Lorem」並且HTML頁面包含Lo<i>rem</i>,那麼該事件也不會突出顯示。

我開始在PHP中使用正則表達式來實現突出顯示,但實際上每個人都說不可能在沒有轉到DOM的情況下可靠地突出顯示,所以現在我已經去了DOM,並且顯然使用DOM有很大困難太!

任何人都可以建議更好的jQuery突出顯示例程或修改現有的例程,這將解決這個困難?

+0

就PHP而言,這個問題已經在這裏得到了解答:[忽略preg_replace中的html標籤](http://stackoverflow.com/q/8193327/367456) - 同樣應該可以使用javascript。 – hakre 2012-04-11 15:29:14

+0

@hakre在您提到的文章中,codepage.viper-7上的示例似乎不起作用。是否有任何地方可以查看或下載您的示例的完整工作代碼? – 2012-04-16 19:02:24

+0

是的,它也在github上:https://gist.github.com/gists/1894360/ - 在評論中鏈接到那裏。這個例子在IIRC的答案中。 – hakre 2012-04-16 19:23:50

回答

0

如果你不是很在意現有的格式,你可以使用:

$('selector').html($('selector').text()); 

然後應用你的熒光筆。

+0

向格式化的HTML應用突出顯示是可能的,但需要編寫一個插件,而不是簡單的答案。 – skafandri 2012-04-10 17:02:22

+0

謝謝你的想法,但爲了突出顯示此網頁,保留任何現有文本格式非常重要。 – 2012-04-10 18:13:46