我正在使用它:
foreach ($paragraph->childNodes as $child) {
$value .= $paragraph->ownerDocument->saveHTML($child);
}
问题是我的$value
我
在原始文档中我有一个换行符。
以下是源HTML的一部分:
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<meta name=Generator content="Microsoft Word 12 (filtered)">
<title>SomeTitle</title>
</head>
<body lang=EN-US link=blue vlink=purple>
<div class=WordSection1>
<p class=3abstract><b>Abstract:</b> Five new anthranilic acid derivatives.</p>
</body>
</html>
你以前见过这个吗?
答案 0 :(得分:1)
是“回车”的十进制HTML实体表示,因此它在输出中完全没问题。
要输出实际的回车符,请尝试将父文档的输出编码设置为UTF-8:$paragraph->ownerDocument->encoding = 'UTF-8'
。
答案 1 :(得分:0)
Alf无法阐明如何来定义通过new DOMDocument
完成的编码。反过来,这会删除
数字实体:
$dom = new DOMDocument('1.0', 'UTF-8');//<?xml version="1.0" encoding="UTF-8"?>
$dom->loadHTML($xml);
$xml = $dom->saveXml($dom);
根据他的代码,我得到了类似的错误:
试图修改非对象的属性'ownerDocument'
或者,您可以使用以下字符串替换:
$xml = str_ireplace("\r\n", "\n", $xml);