我目前正在使用.replace(/>\s+</g,'><')
删除HTML标记之间的空格。
这将取代:
<hello> a b c </hello> <world> x y z </world>
使用:
<hello> a b c </hello><world> x y z </world>
我想更新此函数以获得以下结果:
<hello>a b c</hello><world>x y z</world>
如何重新定义此正则表达式以删除围绕内部标记内容的新行,空格和制表符?
答案 0 :(得分:2)
用两步替换它
代码示例:
x = `<hello>
a b c </hello> <world>
x y z
</world>`;
x = x.replace(/>\s*/g, '>');
x = x.replace(/\s*</g, '<');
console.log(x);
输出:
<hello>a b c</hello><world>x y z</world>
答案 1 :(得分:2)
尝试这样的事情:
"<hello> a b c </hello> <world> x y z </world>".replace(/\s*(<\/?.*?\/?>)\s*/g, "$1")
打印:
"<hello>a b c</hello><world>x y z</world>"
说明:
\s*
- 标签前的0或n个空格
(<\/?.*?\/?>)
- 标记,<...>
,</...>
或<.../>
,已捕获
\s*
- 标记后的0或n个空格
将捕获的标记放回字符串中减去未捕获的匹配空格