Js正则匹配标签内容
有好多个 span标签 如:
<span style=""> 1</span>
<span style=""> 1 2</span>
要求用正则 把 每个 span标签里面的内容前面的 多个空格 替换掉 一个空格,如下,2前面的空格不变。
<span style="color: #0;"> 1</span>
<span style="color: #0;"> 1 2</span>
谢谢!
[解决办法]
s= s.replace(/^\s*/," ");
获取span的内容,执行上面的replace,再重新给span赋值?
[解决办法]
var ele = document.getElementById("aa"),
htm = ele.innerHTML;
htm = htm.replace(/\<span\s?[^\>]*\>(?:(\s*)[^\s]+)\<\/span\>/g,function($1,$2){
console.log($1);
console.log($2)
return $1.replace($2," ");
});
console.log(htm);
ele.innerHTML = htm;
var $l = document.getElementsByTagName('span');
var i=0;
for(;$l[i];i++){
var $1 = $l[i].innerHTML;
var $2 = $1.replace(/^\s(\s)+/,' ');
$l[i].innerHTML = $2;
}