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

标签 php xml dom xpath line-breaks

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

问题是在做时:

foreach ($paragraph->childNodes as $child) {
    $node .= $paragraph->ownerDocument->saveHTML($child);
}

如果有初始换行符,这将被保留,我想删除所有换行符。

我尝试过:

$node = trim($node); // Does not work

然后:

$breaks = array("\r\n", "\n", "\r");
$node = str_replace($breaks, " ", $node); // Doesn't work

我也尝试过:

$paragraph->ownerDocument->formatOutput = false;
$paragraph->ownerDocument->preserveWhiteSpace = false;

没用。

关于如何消除这些换行符有什么想法吗?

提前谢谢您。

编辑

这是 $node 输入的示例:

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

显然,有问题的字符是 这个特殊字符是什么?

最佳答案

$node = preg_replace(array('/\r/', '/\n/'), '', $node);

这样就可以了。

关于php - 如何从 DomDocument::saveHTML 中删除换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19091815/

相关文章:

php - GROUP_CONCAT 拉出带分隔符的空结果

php - 使用php从mysql中搜索以逗号分隔的多行

php - 错误的静态方法

PHP - 从数据库构建多级关联数组(从数据库按州对城市进行排序)

javascript - 有没有办法在 JavaScript 中获取对网页中所有段落或标题的引用?

javascript - 如何获取 DOM 元素的类型?

python - 使用 python xml.sax 解析 XML 实体

java - 来自 Java Web 服务的空响应对象

c# - 将 XML 反序列化为对象 - XML 文档 (0, 0) 中存在错误

Javascript DOM 逐渐改变不透明度