从data-*属性中去掉HTML,留下新行
我环顾四周,但找不到这个解决方案的答案 是否可以通过data-*属性从textarea字段中去掉HTML标记,留下换行符 到目前为止,我的代码是: 我已经能够用从data-*属性中去掉HTML,留下新行,html,replace,Html,Replace,我环顾四周,但找不到这个解决方案的答案 是否可以通过data-*属性从textarea字段中去掉HTML标记,留下换行符 到目前为止,我的代码是: 我已经能够用替换新行,但无法解决如何删除用户放入的任何HTML .replace(//\n/g,“”).replace(//*>/g,”).replace(//g,”).replace(“&”,“&;”).replace(//\n/g,')) 在添加自己的HTML之前剥离HTML是很重要的 如果您正在做的任何事情都不是在他们输入后在他们的浏览
替换新行,但无法解决如何删除用户放入的任何HTML
.replace(//\n/g,“
”)
.replace(//*>/g,”).replace(//g,”).replace(“&”,“&;”).replace(//\n/g,
'))
在添加自己的HTML之前剥离HTML是很重要的
如果您正在做的任何事情都不是在他们输入后在他们的浏览器中显示(即,将其存储在数据库中),请确保您也在后端对其进行清理!客户端验证很容易进行。要剥离html并仅检索文本,可以使用
函数条带html(html){
var root=document.implementation.createHTMLDocument().body;
root.innerHTML=html;
返回root.textContent;
}
要保留新行字符,请使用CSS属性:
空白:pre;/*保留换行、保留空格、不换行*/
空白:预包装;/*保留换行、保留空格、换行文字*/
空白:行前;/*保留换行、折叠空格、换行文字*/
这本质上是一个“提交前预览”,后端肯定有所有的检查:-)在使用JS时,您如何组合该功能以使其在使用中?啊,我现在明白了!在保持函数使用的同时,是否仍然可以使用data-*作为原始代码?再次感谢!不管怎样你都是一个伟大的help@potts是的,我删除它只是为了简化。我明白了,“输入”对分叉版本有什么作用:?如果我更改输入,它将中断?@potts是一个事件。最初,您使用的是keyup
,但文本字段可以通过键入键以外的其他方式更改,例如使用鼠标。
.replace(/<[^>]*>/g, '').replace(/<|>/g, '').replace('&', '&').replace(/\n/g, '<br>')