gpt4 book ai didi

javascript - 如何制作一个 bbcode 解码器,将 html 结束标记转换为它们开始时的 bbcode 结束标记?

转载 作者:行者123 更新时间:2023-12-02 18:40:14 25 4
gpt4 key购买 nike

我有一些 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 不允许。

最佳答案

您可以在标签后添加评论,然后进行测试,例如:

function bbencode(input){
return input
.replace(/\n/ig, '<br/>')
.replace(/\[b\]/ig, '<span class="bbcode_bold">')
.replace(/\[\/b\]/ig, '</span><!--BOLD-->')
.replace(/\[i\]/ig, '<span class="bbcode_italic">')
.replace(/\[\/i\]/ig, '</span><!--ITALIC-->')
;
}

关于javascript - 如何制作一个 bbcode 解码器,将 html 结束标记转换为它们开始时的 bbcode 结束标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16908314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com