【发布时间】:2016-05-13 19:58:54
【问题描述】:
我有一个 JS 字符串,我想防止在我的网站消息输入中注入 html 和 js。
如何从字符串中删除除 img 标记之外的所有 HTML 标记,因为它用于显示这样的表情符号:
<img class="emo" src="images/emo/smile.png">
我正在使用以下代码删除所有 html 标签,但它仅适用于 <br> 标签而不适用于 img 标签。
function remove_tags(html)
{
var html = html.replace("<img>","||img||");
var tmp = document.createElement("DIV");
tmp.innerHTML = html;
html = tmp.textContent||tmp.innerText;
return html.replace("||img||","<img>");
}
要么删除那些 html 标签,要么简单地将它们显示为简单的文本,例如:
<script> alert("hi");</script>
但<img> 标签除外。
【问题讨论】:
-
请在 google 上搜索 javascript 中的正则表达式
-
坏消息:你仍然可以注入带有图像标签的脚本!
标签: javascript jquery html tags