我可以使用正则表达式吗?如果是,我如何用span标签替换每个匹配?如果没有我可以使用的是什么?一个包含所有可能的html标签的字典?这仅用于教育目的,因此请不要将我引用到JavaScript库。
答案 0 :(得分:0)
它与您在任何其他语言中进行语法突出显示的方式类似。通常,您将实现将html代码段分解为单个标记的标记生成器(例如,使用正则表达式),然后将样式规则应用于标记。
我会看Prism。它的代码非常简单。核心在这里:
https://github.com/LeaVerou/prism/blob/gh-pages/components/prism-core.js
这包含标记化和突出显示功能。 HTML / XML的正则表达式在此文件中:
https://github.com/LeaVerou/prism/blob/gh-pages/components/prism-markup.js