1

我正在从网页中提取标题标签的内容。问题是某些内容需要 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);
4

0 回答 0