var string = input.replace(/\[noparse\]([^\]]+)?\[\/noparse\]/ig, '<noparse>'+removeBrackets('$1')+'</noparse>');
这个表达式应该接受一个字符串并对包裹在[noparse]标签中的部分进行编码,这样它们就不会在 textarea 中呈现。
我将其测试为:
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 函数时做错了什么?