javascript - 将方括号内容替换为html

标签 javascript jquery regex

我尝试更改代码突出显示标签以匹配 Alex Gorbatchev 的语法突出显示。

这就是我的源代码的样子:

[csharp]//awesome code[/csharp]

它应该是这样的:

<pre brush: csharp>//awesome code</pre>

我想将允许的标签放入一个数组中。所以伪代码将是这样的:

$.each(allowedValues,function(index,value){
  MagicReplaceFunction(value);
}

所以我需要一些东西来更改我的标签,然后才能从代码荧光笔调用方法

jQuery 可用。

最佳答案

使用string.replace功能。

> "[csharp]//awesome code[/csharp]".replace(/\[csharp\]([\s\S]*?)\[\/csharp\]/g, "<pre brush: csharp>$1</pre>")
'<pre brush: csharp>//awesome code</pre>'

[\s\S]*?非贪婪地匹配任何空格或非空格字符。所以,

  • \[csharp\]匹配起始 [csharp]标签。
  • ([\s\S]*?)捕获任意数量的中间字符。
  • \[\/csharp\]匹配结束 [/csharp]标签。
  • 将匹配的字符替换为 <pre brush: csharp>加上组索引 1 内的字符加上 </pre>将为您提供所需的输出。

关于javascript - 将方括号内容替换为html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28250744/

相关文章:

javascript - 单击后如何使启动页面div淡出

javascript - 内联文本的CSS垂直突出显示

javascript - 在悬停时隐藏工具提示?

regex - 使用 sed 和/或 awk,如何对文件中的所有文本进行 sed 交换,直到我看到与正则表达式匹配的行?

javascript - 如何在jquery中使用替换和正则表达式在大写字符之前插入空格

javascript - 使用Javascript动态改变div的宽度

javascript - bootstrap 3 datetimepicker 自定义年份

javascript - 无法设置属性innerHTML错误

javascript - jquery ui css 和image 文件在不同的文件夹中,如何配置?

javascript - 正则表达式帮助替换 <html> 标签