我有一个JS字符串,我想防止在我的网站消息输入html和js注入。删除所有html标签,但<img>或<img/>标签与javascript
如何从一个字符串中删除所有的HTML标签,除了img标签,因为它是用来显示这样的表情符号:只有
<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>
标签。
请搜索在谷歌正则表达式在JavaScript –
坏消息:你仍然可以使用图像标记注入脚本! – Scott