我有一个像
这样的字符串var x = "<html><head> <title>Hello!</title> </head> <body> <div class=”div1”> "+
"<h1>This is a headline!</h1> "+
"<br><img src=”header-image.png”> </div> "+
"<div class=”div2”> <a href=”http://www.google.com”> </a> </div>"+
"<div class='div3'></div> </body> </html>";
输出应为
x = "<html><head><title>Hello!</title></head><body><div class=”div1”>"+
"<h1>This is a headline!</h1>"+
"<br><img src=”header-image.png”></div>"+
"<div class=”div2”><a href=”http://www.google.com”></a></div>"+
"<div class='div3'></div></body></html>";
在输出中,我不应该在&gt;之间留下任何空格。和&lt;仅限标签。
如果元素和属性之间有任何空格,它应该是完整的。 如果我有以下文字
input : <a href='www.google.com'> Click Here </a> <br/><span> </span>
输出应该是
<a href='www.google.com'> Click Here </a><br/><span></span>
表示只有关闭和打开标签之间的空格才能被空字符串替换为#34;&#34;。
我试过
x = x.replace(/>( )</g,"")
和输出是
"<html><head> <title>Hello!</title/headbodydiv class=”div1”h1>This is a headline!</h1><br><img src=”header-image.png”> </div><div class=”div2”> <a href=”http://www.google.com”></a></div><div class='div3'></div> </body> </html>"
我仍然在标签之间留下一些空格。 有人可以帮我吗?
答案 0 :(得分:1)
只需应用此正则表达式并替换为empty string
。
(?<=>)\s*
参见演示。
https://www.regex101.com/r/rK5lU1/35
编辑:
似乎看起来不支持。使用
>\s*
并替换为>
。
答案 1 :(得分:0)
以下正则表达式将替换>
,<
符号(包含)与><
x.replace(/>\s+</g, "><")
OR
x.replace(/>[ \t]+</g, "><")
使用trim()
函数删除所有前导和尾随空格。
> s.replace(/>\s+</g, "><").trim()
'<a href=\'www.google.com\'> Click Here </a><br/><span></span>'
示例:强>
> var s = "<a href='www.google.com'> Click Here </a> <br/><span> </span>"
undefined
> s.replace(/>\s+</g, "><")
'<a href=\'www.google.com\'> Click Here </a><br/><span></span>'
答案 2 :(得分:0)