var string = input.replace(/\[noparse\]([^\]]+)?\[\/noparse\]/ig, '<noparse>'+removeBrackets('$1')+'</noparse>');
この式は、文字列を取得し、[noparse]タグでラップされた部分をエンコードして、テキストエリアに表示されないようにする必要があります。
私はこれを次のようにテストしました:
var string = input.replace(/\[noparse\]([^\]]+)?\[\/noparse\]/ig, '<noparse>test</noparse>');
と:
var string = input.replace(/\[noparse\]([^\]]+)?\[\/noparse\]/ig, '<noparse>'+String('$1')+'</noparse>');
そしてそれらは機能します(望ましい効果はありません)。
function removeBrackets(input){
return input
.replace(/\[/g, '[')
.replace(/\]/g, '\');
}
後方参照を removeBrackets 関数に渡そうとすると、何が間違っていますか?