我正在使用 Symfony2 Crawler - Bundle 来使用 XPath。
除了编码之外,一切正常。
我想使用 UTF-8 编码,但 Crawler 不知何故没有使用它。我注意到因为
被转换为Â
,这是一个已知问题:UTF-8 编码问题 https://stackoverflow.com/questions/3597105/why-cant-i-get-rid-of-this-nbsp
我的问题是:如何强制 Symfony Crawler 使用 UTF-8 编码?
这是我正在使用的代码:
$dom_input = new \DOMDocument("1.0","UTF-8");
$dom_input->encoding = "UTF-8";
$dom_input->formatOutput = true;
$dom_input->loadHTMLFile($myFile);
$crawler = new Crawler($dom_input);
$paragraphs = $crawler->filterXPath('descendant-or-self::p');
现在,当我做的时候
foreach($paragraphs as $paragraph) {
var_dump($paragraph->nodeValue);
}
一旦我有一个
在我的段落中,我得到Â
.
预先非常感谢您。
感谢@halfer,我找到了一个解决方法:
而不是使用
$crawler = new Crawler($dom_input);
I used:
$crawler = new Crawler();
$crawler->addHtmlContent(utf8_decode($dom_input->saveXML()));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)