如何删除html标签外的所有换行符

时间:2014-01-16 11:16:12

标签: php html string

我正在通过php脚本清理一些html文件,我想删除\n之间不存在的所有<tag></tag>内容。

<p>some text</p>


           <- here are the bunch of \n I want to remove


<p>some other random
text with \n at fixed width
and that's great</p>

有什么想法吗? 非常感谢。

1 个答案:

答案 0 :(得分:1)

这样的东西就足够了吗?

<?php
$html=<<<SOMECONT
<p>some text</p>





<p>some other random
text with \n at fixed width
and thats great</p>
SOMECONT;

$narr=array_filter(explode(PHP_EOL,$html),'strlen');
echo implode('',$narr);

输出:

<p>some text</p><p>some other randomtext with 
 at fixed widthand thats great</p>

编辑:替代

可能会更“脏”但是有效。毕竟,删除htmltags之间的所有内容有时可以像从原始文件的分解字符串中删除空行一样简单。

  $split = explode(PHP_EOL,$data);
  $data= "";
  for($i = 0; $i < count($split); $i++){
    $line = $split[$i];
    else if(strlen($line) > 0) $data .= $split[$i]."\n"; // filter
  }