jQuery突出显示包含文本格式标签的HTML
有许多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突出显示例程或修改现有的例程,这将解决这个困难?
如果你不是很在意现有的格式,你可以使用:
$('selector').html($('selector').text());
然后应用你的荧光笔。
向格式化的HTML应用突出显示是可能的,但需要编写一个插件,而不是简单的答案。 – skafandri 2012-04-10 17:02:22
谢谢你的想法,但为了突出显示此网页,保留任何现有文本格式非常重要。 – 2012-04-10 18:13:46
就PHP而言,这个问题已经在这里得到了解答:[忽略preg_replace中的html标签](http://stackoverflow.com/q/8193327/367456) - 同样应该可以使用javascript。 – hakre 2012-04-11 15:29:14
@hakre在您提到的文章中,codepage.viper-7上的示例似乎不起作用。是否有任何地方可以查看或下载您的示例的完整工作代码? – 2012-04-16 19:02:24
是的,它也在github上:https://gist.github.com/gists/1894360/ - 在评论中链接到那里。这个例子在IIRC的答案中。 – hakre 2012-04-16 19:23:50