我正在使用XPath从我的DomDocument中获取一些段落。 这很好,并返回所需的数据。
问题在于:
foreach ($paragraph->childNodes as $child) {
$node .= $paragraph->ownerDocument->saveHTML($child);
}
如果有一个初始换行符,这将是keept,我想摆脱所有的换行符。
我试过:
$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
显然,有问题的角色是
这个特殊角色是什么?
答案 0 :(得分:2)
$node = preg_replace(array('/\r/', '/\n/'), '', $node);
这样就可以了。
答案 1 :(得分:1)
尝试preg_replace
$string = preg_replace("#<br\s*/?>#i", "", $string);
或尝试
preg_replace( "/\r|\n/", "", $yourString);
答案 2 :(得分:1)
显然,正是字符
导致了te linebreak。我从来没有听说过这个特殊角色,也不知道它是如何产生的。
所以基本上,我要做的就是更换它。