【问题标题】:jQuery highlighting of HTML which includes text formatting tags包含文本格式标签的 HTML 的 jQuery 突出显示
【发布时间】: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


【解决方案1】:

如果你不是很关心现有的格式,你可以使用:

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

然后应用你的荧光笔。

【讨论】:

  • 对格式化的HTML应用高亮是可以的,但是需要写一个插件,这里不是简单的回答。
  • 感谢您的想法,但对于此网页突出显示,保留任何现有文本格式非常重要。
猜你喜欢
  • 1970-01-01
  • 2013-05-28
  • 2011-02-05
  • 2023-04-07
  • 2012-03-02
  • 1970-01-01
  • 2012-02-28
  • 2012-07-12
  • 2013-11-11
相关资源
最近更新 更多