我有一些 javascript 会
[b]test[/b]
变成
<span class="bbcode_bold">test</span>
此外,这
[i]test 2[/i]
将变成
<span class="bbcode_italic">test</span>
这很好用,但我也需要能够解码它。对于具有相同结束标签的多种类型的 bbcode,我如何才能找到一种方法来将结束标签识别为它们开始时的 bbcode 标签?
编辑:我用来解析带有 bbcode 的文本的代码:
function bbencode(input){
return input
.replace(/\n/ig, '<br/>')
.replace(/\[b\]/ig, '<span class="bbcode_bold">')
.replace(/\[\/b\]/ig, '</span>')
.replace(/\[i\]/ig, '<span class="bbcode_italic">')
.replace(/\[\/i\]/ig, '</span>')
;
}
我的问题出在解码器中:
function bbdecode(input){
return input
.replace(/\n/ig, "<br/>")
.replace(/<span class="bbcode_bold">/ig, "[b]")
.replace(/<\/span>/ig, "[/b]")
.replace(/<span class="bbcode_italic">/ig, "[i]")
.replace(/<\/span>/ig, "[/i]")
;
}
每个 span 结束标记都需要被解释为它开始时的 bbcode 结束标记,但无法区分。我尝试将类放在末尾标签中,但 Firefox 不允许这样做。