【问题标题】:php replace multiple br-tagsphp替换多个br标签
【发布时间】:2015-05-21 10:42:27
【问题描述】:

我有一个类似于下面的字符串,其中包含多个 br 标记,可以出现在 \r\n 或多个空格之后。我想知道什么时候有 3x br-tags 或更多(无论它们之间有多少 \r\n 或空格)并将它们替换为仅 2x br-tags。 <br> <br> <br> High Quality Print<br> <br><br> <br><br> <br> Data<br> <br> <br> <br>

预期输出:
&lt;br&gt;&lt;br&gt;High Quality Print&lt;br&gt;&lt;br&gt;Data&lt;br&gt;&lt;br&gt;

我尝试使用 str_replace,但由于各种空格等不起作用,我自己无法进行正则表达式。

【问题讨论】:

  • 您的预期输出是什么,并显示您尝试过的内容?
  • nl2br你试过了吗?

标签: php regex line-breaks


【解决方案1】:

你可以使用这个正则表达式:

$result = preg_replace('/(?:\s*<br[^>]*>\s*){3,}/s', "<br><br>", $input);
//=> <br><br>High Quality Print<br><br>Data<br><br>

RegEx Demo

【讨论】:

  • 这是否适用于查找/替换所有类型的
    、
    、
    ?代码中是否缺少 '?
  • 查看更新的答案,它现在将涵盖&lt;br&gt;,&lt;br &gt;,&lt;br/&gt; 等。
猜你喜欢
  • 2015-08-15
  • 1970-01-01
  • 2010-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-08
  • 1970-01-01
相关资源
最近更新 更多