简单的html dom php和明文中的新行

时间:2013-03-19 23:59:52

标签: php newline simple-html-dom

当我解析一个网站并打印出明文时,我在打印输出中得到了许多无法通过str_replace删除的换行符。

例如,如果我解析eBay并查找结束时间,

$ebayEndTime = $this->html_simple_dom->find( 'span[class=vi-tm-left]', 0 )->plaintext;

在打印输出中,它看起来像这样:

  

\ t \ t \ t \ t \ t(2013年3月19日\ n \ t \ t \ t \ t \ ttt:t15:10:11 PDT)\ n \ t \ t \ t

尝试删除它无效:

$search = array('\n', '\t', '\r');
error_log("end time:" .  str_replace( $search, " ", $ebayEndTime));

仍然导致:

  

\ t \ t \ t \ t \ t(2013年3月19日\ n \ t \ t \ t \ t \ ttt:t15:10:11 PDT)\ n \ t \ t \ t

删除换行符/标签需要做什么?我甚至试过这个是彻底的:

$search = array('\n', '\t', '\r', '\\n', '\\t', '\\r', '\\\\n', '\\\t', '\\\r', '\\\\n', '\\\\t', '\\\\r');

我知道Java要求转义转义字符,但是当它打印在日志文件中时,是否使用html代码将其打印出来用于'\'?

1 个答案:

答案 0 :(得分:0)

怎么样:

$str = "\t\t\t\t\t(Mar 19, 2013\n\t\t\t\t\t15:10:11 PDT)\n\t\t\t";
echo trim(preg_replace('/\s+/', ' ', $str));
#=>(Mar 19, 2013 15:10:11 PDT)