所以我尝试解析 HTML 页面并使用 <p>
查找段落( get_elements_by_tag_name('p');
)
问题是当我使用$element->nodeValue
时,它返回奇怪的字符。该文档首先加载到 $html
使用curl然后将其加载到DOMDocument中。
我确信这与字符集有关。
以下是响应示例:“aujourdà€™hui”。
提前致谢。
最佳答案
我遇到了同样的问题,现在注意到 loadHTML() 不再需要 2 个参数,所以我必须找到不同的解决方案。使用 DOM 库中的以下函数,我能够从 HTML 内容中删除时髦的字符。
private static function load_html($html)
{
$doc = new DOMDocument;
$doc->loadHTML('<?xml encoding="UTF-8">' . $html);
foreach ($doc->childNodes as $node)
if ($node->nodeType == XML_PI_NODE)
$doc->removeChild($node);
$doc->encoding = 'UTF-8';
return $doc;
}
关于php - DOMDocument 中的 nodeValue 在 PHP 中返回奇怪的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2024993/