如何在JavaScript中实现html语法高亮显示

How do you implement an html syntax highlighter in JavaScript?

本文关键字:html 语法 高亮 显示 实现 JavaScript      更新时间:2024-01-24

我可以使用regex吗?如果是,如何用span标记替换每个匹配项?如果没有,我能用什么?一本包含所有可能的html标签的词典?这只是出于教育目的,所以请不要向我介绍JavaScript库。

这与在任何其他语言中进行语法高亮显示的方式类似。通常,您会实现一个标记化器,将html片段分解为各个标记(例如,使用正则表达式),然后将样式规则应用于标记。

我会看看棱镜。它的代码非常简单。核心在这里:

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