【发布时间】:2013-10-10 09:02:27
【问题描述】:
我正在使用 Symfony2 Crawler - 使用 XPath 的捆绑包。 一切正常,除了编码。
我想使用 UTF-8 编码,而 Crawler 不知何故没有使用它。我注意到因为  被转换为 ,这是一个已知问题:UTF-8 Encoding Issue
我的问题是:如何强制 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);
}
只要我的段落中有 ,我就会得到 。
非常感谢您。
【问题讨论】:
-
我已经回答了here。
-
我担心这对我不起作用。我找到了一种解决方法,使用
crawler->addHtmlContent(utf8_decode($dom_input->saveXML()));
标签: php symfony xpath encoding web-crawler