【发布时间】:2012-01-12 02:34:04
【问题描述】:
我们有一个包含多达 2000 个术语的词汇表(其中每个词汇表术语可能 由一个、两个或三个单词组成(用空格分隔 或破折号)。
现在我们正在寻找一种解决方案来突出显示 (更长的)HTML 文档(最多 100 KB 的 HTML 标记),以便 生成带有突出显示的术语的静态 HTML 页面。
一个可行的解决方案的限制是:大量的词汇表术语 和长 HTML 文档……高效解决方案的蓝图是什么 (在 Python 中)。
现在我正在考虑使用 lxml 解析 HTML 文档,遍历所有文本节点,然后将每个文本节点中的内容与所有词汇表术语进行匹配。
客户端(浏览器)动态突出显示不是一个选项,因为 IE 会抱怨长时间运行的脚本会出现脚本超时......因此无法用于生产用途。
有更好的主意吗?
【问题讨论】:
-
您可能想查看漂亮的汤以进行解析
-
我发表了评论但没有回答的事实应该指出,我可能有足够的时间来实际写出正确的答案。见下文。
-
您不必在一个循环中使用客户端高亮显示。使用 setTimeout 模拟协程。
标签: javascript python highlighting glossary glossaries