Php 如何从DomDocument::saveHTML中删除换行符

Php 如何从DomDocument::saveHTML中删除换行符,php,xml,dom,xpath,line-breaks,Php,Xml,Dom,Xpath,Line Breaks,我正在使用XPath从我的文档中获取一些段落。 这工作正常,并返回所需的数据 问题在于,在执行以下操作时: foreach ($paragraph->childNodes as $child) { $node .= $paragraph->ownerDocument->saveHTML($child); } 如果有一个初始换行,这将是禁止的,我想摆脱所有换行 我试着: $node = trim($node); // Does not work 然后: 我还尝试: $

我正在使用XPath从我的文档中获取一些段落。 这工作正常,并返回所需的数据

问题在于,在执行以下操作时:

foreach ($paragraph->childNodes as $child) {
    $node .= $paragraph->ownerDocument->saveHTML($child);
}
如果有一个初始换行,这将是禁止的,我想摆脱所有换行

我试着:

$node = trim($node); // Does not work
然后:

我还尝试:

$paragraph->ownerDocument->formatOutput = false;
$paragraph->ownerDocument->preserveWhiteSpace = false;
不起作用

有没有办法摆脱那些断线

先谢谢你

编辑

下面是$node输入的示例:

<b>Keywords: </b>marine fungus; sediment; anthranilic acid; <i>Penicillium
 paneum</i>; cytotoxicity

显然,有问题的字符是

这个特殊字符是什么?

尝试
preg\u replace

   $string =  preg_replace("#<br\s*/?>#i", "", $string);

这就可以了。

显然,这是字符

导致te换行符。我从来没有听说过这个特别的角色,不知道它是如何产生的


所以基本上,我要做的是替换它。

谢谢你的回答,但是没有,结果是sameCan你可以共享$node的示例输入吗?谢谢
   $string =  preg_replace("#<br\s*/?>#i", "", $string);
preg_replace( "/\r|\n/", "", $yourString);
$node = preg_replace(array('/\r/', '/\n/'), '', $node);