【问题标题】:replace multiple <br> in javascript replace with single <br>?用单个<br>替换javascript中的多个<br>?
【发布时间】:2012-12-04 09:46:43
【问题描述】:

我想用单个&lt;br&gt; 替换文本中的多个&lt;br&gt; 标签。

我的文字喜欢,

<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>

如何将多个&lt;br&gt; 替换为单个&lt;br&gt;?。

【问题讨论】:

    标签: javascript html regex


    【解决方案1】:

    试试这个

    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

    其中/.../ 表示正则表达式,(&lt;br&gt;) 表示&lt;br&gt; 标记,+ 表示前一个表达式出现一次或多次,最后g 用于全局替换。

    【讨论】:

      【解决方案2】:

      这应该可以解决问题:

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

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

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

      【讨论】:

        猜你喜欢
        • 2013-06-08
        • 1970-01-01
        • 1970-01-01
        • 2015-08-15
        • 1970-01-01
        • 2015-05-21
        • 1970-01-01
        • 1970-01-01
        • 2013-11-27
        相关资源
        最近更新 更多