在textarea中,人们可以粘贴文字。这可能会带来很多不需要的属性,比如style属性。我正在尝试创建一个删除所有这些属性的正则表达式,但保留html标记。
我似乎无法让它发挥作用。我从搜索中尝试了几个RegExps,但它们似乎不合适。 所有的孩子和textarea中的所有元素都应该被其所有属性所剥离。
这个RegExp应该怎么样?
我目前的RegExp(在regex for removing attributes上找到):
text.replace(new RegExp(/<\s*(\w+).*?>/, 'igm'), '');
请帮我找到正确的正则表达式
修改
澄清一下:
<strong style="box-sizing: border-box; color: rgb(51, 51, 51); font-family: Arial, sans-serif; font-size: 13px; line-height: 13.008000373840332px;"><u style="box-sizing: border-box;">Trade</u></strong>
应替换为:
<strong><ul>Trade</ul></strong>
重要提示:这可能会在textarea中多次出现,因此应该更换所有内容。
修改
此外,用<strong>
替换所有<b>
代码是否明智?这样文本就更短了。
答案 0 :(得分:0)
这是使用正则表达式解析HTML的危险区域,但是呢。
text.replace(/<(\w*) .*?(\/?)>/g,"<$1$2>")
答案 1 :(得分:0)
这看起来像你可能需要的那样:
text.replace(/(<\s*\w+)(.*?)>/, '$1>')
这将从一个开始标记中删除属性。
答案 2 :(得分:0)
这个有用:
str.replace(/<[^>]*?(\s+[^=]+="[^"]*?")>/g, "");