PHP DOMDocument-&gt; getElementByID添加Â代替空<span> </span>

时间:2012-11-29 15:43:12

标签: php dom domdocument

我正在使用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>

<span> </span>中的所有$element代码都会发生这种情况。

在这个过程中(通过ID获取元素并输出元素)是插入这个额外的角色吗?我可以解决它,但我更感兴趣的是根

1 个答案:

答案 0 :(得分:0)

我能够通过设置页面的字符编码来解决问题。我提取的页面没有定义的字符编码,我的页面只是一个没有定义标题信息的片段。当我添加

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>

问题消失了。