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