从data- *属性中删除HTML,留下New Lines

时间:2015-01-27 10:41:14

标签: html html5 replace

我环顾四周但无法找到解决方案的答案。

有没有从textarea字段中删除HTML标记,通过data- *属性留下换行符?

到目前为止我的代码:http://jsfiddle.net/xymvcLcv/

我已经能够用<br>替换新行,但无法解决如何删除用户放入的任何HTML ...

.replace(/\n/g, '<br/>')

2 个答案:

答案 0 :(得分:2)

要剥离html并仅检索文本,可以使用

function stripHTML(html){
  var root = document.implementation.createHTMLDocument().body;
  root.innerHTML = html;
  return root.textContent;
}

要保留换行符,请使用white-space CSS属性:

white-space: pre; /* preserve newlines, preserve spaces, don't wrap text */
white-space: pre-wrap; /* preserve newlines, preserve spaces, wrap text */
white-space: pre-line; /* preserve newlines, collapse spaces, wrap text */

答案 1 :(得分:0)

.replace(/<[^>]*>/g, '').replace(/<|>/g, '').replace('&', '&amp;').replace(/\n/g, '<br>')

在添加自己的HTML之前删除HTML非常重要。

如果您正在做任何事情,只要在他们输入后在浏览器中显示它(即将其存储在数据库中),请确保您在后端对其进行消毒!客户端验证很容易解决。