Получение заголовка страницы в PHP - PullRequest
0 голосов
/ 17 апреля 2010

Когда я хочу получить заголовок удаленного веб-сайта, я использую этот скрипт:

function get_remotetitle($urlpage) {
    $file = @fopen(($urlpage),"r");
    $text = fread($file,16384);
    if (preg_match('/<title>(.*?)<\/title>/is',$text,$found)) {
        $title = $found[1];
    } else {
        $title = 'Title N/A';
    }
    return $title;
}


Но когда я перезаписываю заголовок веб-сайта акцентами, я получаю « ». Но если я смотрю в PHPMyAdmin, я вижу акценты правильно. Что происходит?

Ответы [ 5 ]

0 голосов
/ 17 апреля 2010

Я решил это. Я добавил htmlentities($text) и теперь отображает акценты и так.

0 голосов
/ 17 апреля 2010

проверить PHP Простой HTML DOM Parser

используйте что-то вроде:

$html = file_get_html('http://www.google.com/');
$ret = $html->find('title', 0);
0 голосов
/ 17 апреля 2010

Скорее всего, это проблема кодировки символов. Возможно, вы правильно получаете символ, но на странице, отображающей его, указана неправильная кодировка, поэтому он отображается неправильно.

0 голосов
/ 17 апреля 2010

Попробуйте это:

echo iconv('UTF-8', 'ASCII//TRANSLIT', $title);
0 голосов
/ 17 апреля 2010

Проблема в том, что текст имеет другую кодировку, чем та, которую вы используете на странице, на которой он отображается.

Что вы хотите сделать, так это выяснить, что такое кодировка данных (например, посмотрев, какую кодировку использует страница, из которой вы берете текст), и преобразовать ее в кодировку, которую вы используете сами.

Для фактического преобразования вы можете использовать iconv (для общего случая), utf8_decode (UTF8 -> ISO-8859-1), utf8_encode (ISO-8859-1 -> UTF8) или mb_convert_encoding .

Чтобы помочь вам узнать, какова кодировка исходной страницы, вы можете, например, пропустить веб-сайт через w3c Validator , который автоматически определяет кодировку.

Если вам нужен автоматический способ определения кодировки, вам придется взглянуть на сам HTML. Способы определения выбранной кодировки могут быть использованы в спецификации HTML 4 .

Кроме того, стоит взглянуть на Абсолютный минимум, который должен знать каждый разработчик программного обеспечения. Абсолютно, положительно должен знать о юникоде и наборах символов (нет оправданий!) для получения дополнительной информации о кодировке.

...