javascript - 如何在 JavaScript 中实现 html 语法荧光笔?

标签 javascript html regex

我可以使用正则表达式吗?如果是,我如何用跨度标签替换每个匹配项?如果没有我可以用什么?包含所有可能的 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/

相关文章:

javascript - 如何在固定宽度且带有水平滚动条的容器中放置 highcharts 图表?

javascript - 在 React 组件中渲染数学

javascript - 用于网络应用程序的 Firebase Analytics(在 Firebase 扩展之后)

JavaScript : Jump to method definition using eclipse

JavaScript 或 Java 字符串减法

ruby - 正则表达式以任何顺序匹配一个,一个,另一个或两者

html - 存在行跨度时添加行边框的最简单方法?

javascript - 客户端存储/缓存大型 HTML

html - 为什么我的 iframe 上方和下方有一个白色条?

regex - 使用 grep (或类似的)在第一次匹配后获取字符串