我目前正在使用CKEditor
供用户编写文档。
通常,很少有用户倾向于从几个空格和两个新行开始,然后是实际内容。假设示例 html 看起来像这样:
不同的输入:
-
nn <p> </p>nn<p> </p>nn<p>This is a simple document</p>
-
<p></p>nn<p> </p>nn<p>Testing data</p>
-
<p></p>nn<p> </p>nn<p>This is my plan</p>nn<p> </p><b> Hi Hello</b>
我只需要删除所有不需要的"前导"标签、空格和回车符。
输出应如下所示:
-
<p>This is a simple document</p>
-
<p>Testing data</p>
-
<p>This is my plan</p>nn<p> </p><b> Hi Hello</b>
我尝试在javascript中使用trim()函数,但它只是删除了前导空格。我无法删除标签。无论如何,这可以使用正则表达式在javascript中实现吗?
提前致谢
如果您
确定只会像示例中那样p
没有属性的标签,那么以下内容应该可以工作:
var strs = [
"nn <p> </p>nn<p> </p>nn<p>This is a simple document</p>",
"<p></p>nn<p> </p>nn<p>Testing data</p>",
"<p></p>nn<p> </p>nn<p>This is my plan</p>nn<p> </p><b> Hi Hello</b>"
];
var re = /^(( )|s|(<p>( |s)*</p>))+/i;
for(var i = 0; i < strs.length; i++){
console.log('------------');
console.log(i, strs[i].replace(re, ''));
}