【发布时间】:2012-04-22 23:42:06
【问题描述】:
有许多可用的 jQuery 文本突出显示例程(插件),例如 Johann Burkard 和 Bartek Szopka 提供的那些,但到目前为止我发现的所有这些例程都无法突出显示任何包含 HTML 文本格式的文本标签。
例如,如果我希望突出显示短语 “Lorem ipsum dolor sit amet” 并且 HTML 页面包含短语 Lorem ipsum <strong>dolor</strong> sit amet,则不会突出显示该短语的出现。 p>
同样,如果我希望突出显示单词 “Lorem” 并且 HTML 页面包含 Lo<i>rem</i>,那么该事件也不会突出显示。
我开始在 PHP 中使用正则表达式来进行高亮显示,但几乎每个人都说不使用 DOM 就不可能可靠地高亮显示,所以现在我已经使用 DOM,显然使用 DOM 也有很大的困难!
谁能建议一个更好的 jQuery 突出显示例程或修改现有例程来解决这个困难?
【问题讨论】:
-
就 PHP 而言,此问题已在此处得到解答:Ignore html tags in preg_replace - javascript 也应如此。
-
@hakre 在您提到的文章中,codepage.viper-7 上的示例似乎不起作用。是否有任何地方可以查看或下载您的示例的完整工作代码?
-
是的,它也在 github 上:gist.github.com/gists/1894360 - 在 cmets 中有链接。该示例在答案 IIRC 中。
-
@hakre -- 谢谢,但我仍然有点困惑。在您的骨架示例代码中,处理搜索结果后,如何获得“输出”xml?
-
或 HTML。我认为有一个 jquery highlight 插件可以很好地与 HTML 配合使用。我在Admin Quicksearch Wordpress Plugin中使用过。
标签: php jquery regex dom highlighting