如何在JavaScript中实现html语法高亮显示
How do you implement an html syntax highlighter in JavaScript?
我可以使用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
相关文章:
- jQuery.html()方法语法
- 无法获取@Html.ListBoxFor()的正确语法
- HTML 无法识别我要求它运行的 javascript 文件,语法错误:意外的令牌“<”(匿名函数)script.js:
- Jquery prepend html语法错误“;和'
- 未捕获的语法错误:意外的标记<在<!DOCTYPE html>
- 如何在JavaScript中实现html语法高亮显示
- 在ASP.NET MVC中写入@Html.Raw(Html.Debug)时出现语法错误
- HTML href动态语法
- 如何在Sublime中语法突出显示JavaScript字符串中的HTML
- 在文本区域中实现 HTML 语法突出显示以编写代码
- 在jsView中使用html转换器在语法上是错误的:data-link=“html{:p roperty}”而不是dat
- PHP 函数未定义错误和语法错误, 在生成的 HTML 中放错位置
- HTML 语法未知,用于显示包含 jpeg 图像的 JavaScript 二进制字符串
- 带有JSON的Javascript For Loop HTML语法
- javascript插件中未传递参数,html语法问题
- jQuery append()html语法行为
- jQuery,function.html语法正确
- 在Jquery中添加HTML语法
- 防止浏览器在HTML语法中获取AngularJS属性
- Angular指令变量是从HTML语法派生出来的