有一个字符串:
jaksldhfklajsfdhdkjf[bbcode]img url[/bbcode]kjalhdfk<script>alert(1)</script>sdlfjah
......我希望它成为:
jaksldhfklajsfdhdkjf<img src="img url" />kjalhdfk<script>alert(1)</script>sdlfjah
...仅使用JavaScript。
我找不到可以做到的JS库。 是否有完整的库或其他方式(或不同的逻辑)来防止不安全的输入?
答案 0 :(得分:0)
执行您要做的事情的最佳方法是在解析BBCode之前进行擒纵替换。
function escape(s) { // http://escape.alf.nu/
function html(a) {
return {'>':'>', '<':'<', '"':'"'}[a] || a;
}
s = s.replace(/[<>"]/g, html);
s = s.replace(/\[bbcode]((?:http:|ftp:\/)\/\/.*?)\[\/bbcode]/g, '<img src="$1">');
return s;
}