[b]test[/b]
に変わる
JavaScriptがいくつかあります
<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]")
;
}
すべてのスパン終了タグは、それが開始した bbcode 終了タグとして解釈される必要がありますが、違いを見分ける方法はありません。終了タグにクラスを入れてみましたが、firefox では許可されていません。