删除String中的空格或换行符

时间:2014-01-23 11:21:57

标签: php

我一直在谷歌搜索并在ltrim(),rtrim(),trim()和preg_replace()之间玩,但我仍然无法找到我一直在寻找的确切解决方案。

这是我的视图来源的示例字符串/内容:

<br>Text1
<br>Text2
<br>            
<br>            
<br>
<br>Text3
<br>
<br>
<br>
<br>Text4

//输出应该

  <br>Text1
  <br>Text2
  <br>Text3 
  <br>Text4

我试过这个但看起来不行:

   preg_replace('#<br />(\s*<br />)+#', '<br />', $string);

更新(2014-01-24):   来自viewSource的这个(我不确定它是空格还是换行符)而不是<br>呢?

      Text1
      Text2



      Text3




      Text4

输出应该是:

      Text1
      Text2

      Text3

      Text4

3 个答案:

答案 0 :(得分:0)

使用此模式~(<br>\w*[^\s*])~

preg_replace('#(<br>\w*[^\s*])#', '<br />', $string);

Demo

答案 1 :(得分:0)

使用它可以用于从字符串中删除
标签

$str = preg_replace("/(^)?(<br\s*\/?>\s*)+$/", "", $str);

答案 2 :(得分:0)

$string   = trim(strip_tags($string));
$patterns = array("/\s+/", "/\s([?.!])/");
$replacer = array(" ","$1");
$searchTerm = preg_replace($patterns, $replacer, $string);