Php 如何从DomDocument::saveHTML中删除换行符
我正在使用XPath从我的文档中获取一些段落。 这工作正常,并返回所需的数据 问题在于,在执行以下操作时: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 然后: 我还尝试: $
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);