12312312312312<br/>
1231asdfasdf<br/> <br/><br/>
aSVdikagisdgviasdgi<br/><br/><br/><br/><br/>
asbgdiahsod<br/><br/><br/>我先描述下问题,比如很多个段落或者字符串,然后有很多<br/>,我想把上边的这些重复的br
都变成只有一个。怎么做呢?用js的方式做
1231asdfasdf<br/> <br/><br/>
aSVdikagisdgviasdgi<br/><br/><br/><br/><br/>
asbgdiahsod<br/><br/><br/>我先描述下问题,比如很多个段落或者字符串,然后有很多<br/>,我想把上边的这些重复的br
都变成只有一个。怎么做呢?用js的方式做
var a="asbgdiahsod<br/><br/><br/>";
var reg=/(.*?)(<br\/>)\2*/;
a=a.replace(reg,'$1$2');
alert(a);
</script>
看看这样行不行
<!DOCTYPE HTML>
<html>
<head>
<meta charset="gb2312" />
<title></title>
</head>
<body>
<textarea id="str">
12312312312312<br/>
1231asdfasdf<br/><br/><br/>
aSVdikagisdgviasdgi<br/><br/><br/><br/><br/>
asbgdiahsod<br/><br/><br/>
</textarea>
<script>
function $(el){
return typeof el == 'string' ? document.getElementById(el) : el;
}
var s = $('str').value;
var r = /[^\s]+/g;
var tmp = /<.+(?=<br\/>$)/g
//alert( s.match(r) )
s = s.replace(r, function($){
return $.replace(tmp, '');
})
alert(s)
</script>
</body>
</html>试试
var a="12312312312312<br/> 1231asdfasdf<br/> <br/><br/>
aSVdikagisdgviasdgi<br/><br/><br/><br/><br/>
asbgdiahsod<br/><br/><br/>
"
比如他们都是在<div id="content"></div>中
那样的话使用JS取得content的innerHTML,然后正则处理
核心正则表达式为((<br/>)|(<br />))+这样是最简单的,但是1231asdfasdf<br/> <br/><br/>第一个和第二个中间的空格是你输错了,还是会出现br中有空的情况呢。如果不是一个个br紧挨着的话,还要再修改
br连贯无其他字符,简单地这样。
var tmp = /<.+(?=<br\/>$)/g // 每行删除 最后一个<br/>之前的 <br/> ,即保留最后一个<br/>
"aSVdikagisdgviasdgi<br/><br/><br/><br/><br/>\n"+
"asbgdiahsod<br/><br/><br/>";
var reg=/(.*?)(<br\/>)\2*/g;
var reg2=/ *(<br\/>) */g;
a=a.replace(reg2,"$1");
a=a.replace(reg,"$1<br/>");
alert(a);
这样?