我尝试更改代码突出显示标签以匹配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/