【发布时间】:2012-11-17 17:41:38
【问题描述】:
我正在使用 PHP 的 DOMDocument 对象来解析一些 HTML(使用 cURL 获取)。当我通过 ID 获取一个元素并输出它时,任何空的 <span> </span> 标签都会获得一个额外的字符并变成 <span>Â </span>。
代码:
<?php
$document = new DOMDocument();
$document->validateOnParse = true;
$document->loadHTML( curl_exec($handle) );
curl_close($handle);
$element = $document->getElementById( __ELEMENT_ID__ );
echo $document->saveHTML();
echo $document->saveHTML($element);
?>
$document->saveHTML() 命令按预期运行并打印出整个页面。但是,就像我上面说的,echo $document->saveHTML($element) 命令将空的<span> 标签转换为<span>Â </span>。
$element 中的所有 <span> </span> 标记都会发生这种情况。
在这个过程中(通过 ID 获取元素并输出元素)插入了这个额外的字符?我可以解决它,但我更感兴趣的是根。
【问题讨论】:
-
源和输出中的不间断空格:
<span>&nbsp;</span> -
确保来源不包含不可见字符。
-
我已经确认它不包含隐形字符。
标签: php dom domdocument