在javascript中替换多个<br/>替换为单个<br/>?

时间:2012-12-04 09:46:44

标签: javascript html regex

我想在文本中用单个<br>替换多个<br>代码。

我的文字,

<p>fhgfhgfhgfh</p>
<br><br>
<p>ghgfhfgh</p>
<br><br>
<p>fghfghfgh</p>
<br><br>
<p>fghfghfgh</p>
<br><br>
<p>fghfgh</p>
<br><br>

我如何用单<br>替换多个<br>

2 个答案:

答案 0 :(得分:6)

试试这个

var str="<p>fhgfhgfhgfh</p><br><br><p>ghgfhfgh</p><br><br><p>";

var n=str.replace(/<br><br>/g,"<br>");

console.log(n);

工作DEMO

修改:以上代码适用于2个br代码,下面的代码应该处理任意数量的 br 代码。

var n = str.replace(/(<br>)+/g, '<br>');

工作DEMO

其中/.../表示正则表达式,(<br>)表示<br>标记,+表示前一个表达式的一次或多次出现,最后g为全球替代。

答案 1 :(得分:2)

这应该可以解决问题:

str.replace(/(?:<br>){2,}/g, '<br>')

或者,如果它们可以在不同的行上:

str.replace(/(?:<br>\s*){2,}/g, '<br>')