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

10-09 22:49