我正在从网页中提取标题标签的内容。问题是某些内容需要 UTF8 解码才能正确显示,而另一些则需要两次!这方面的一个例子是(http://nestekaltimontie.com/)的标题和(http://www.pizzaexpresscafe.fi/)的标题第一个需要解码两次,第一个需要解码一次。我的问题是我怎么知道我需要应用 UTF8 解码多少次才能正确显示文本?或者是否有任何正确的方法来正确显示两个网站的标题文本?我已经尝试过 Stack Overflow 中提到的一些用于解码和编码的方法,例如 Encoding::toutf8()、mb_internal_encoding("UTF-8")、iconv、utf8_encode,但它们都不适用于我的示例。我提取标题的代码如下:
mb_internal_encoding("UTF-8");
require_once("simple_html_dom.php");
function gettitle($link)
{
$html = file_get_html($link);
$dom = new DOMDocument;
$dom->loadHTML($html);
var_dump($dom);
$xpath = new DOMXPath($dom);
$entries = $xpath->query('//html/head/title');
foreach ($entries as $entry) {
$title = $entry->nodeValue;
}
echo utf8_decode($title);