我可以使用正则表达式吗?如果是,我如何用跨度标签替换每个匹配项?如果没有我可以用什么?包含所有可能的 html 标签的字典?这仅用于教育目的,因此请不要向我推荐 JavaScript 库。
最佳答案
这与在任何其他语言中进行语法突出显示的方式类似。通常,您将实现一个标记生成器,将 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
关于javascript - 如何在 JavaScript 中实现 html 语法荧光笔?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20340752/