Я пытаюсь разобрать HTML-файл с ужасной (поверьте мне, таковой) HTML-структурой, и из-за этого и отсутствия знаний я не смог написать свой собственный парсер. Позже я попытался использовать синтаксический анализатор Simple HTML Dom, потому что многие люди (в том числе и на SO) рекомендуют его.
Мне потребовался файл simple_html_dom.php, а затем я создал объект. Кажется, они работают, функция require() возвращает «1», а var_dump() возвращает объект.
После этого я попытался загрузить URL-адрес, как это было сделано в руководстве, но я получил фатальную ошибку, независимо от того, какой URL-адрес я пробовал. Ошибка была следующая:
Fatal error: Call to undefined function mb_detect_encoding() in
/home/fema/web/subdomain/devel/www_root/parser/
simplehtmldom_1_5/simple_html_dom.php on line 988
Я проверил, что находится в строке 988, и это следующее:
// Have php try to detect the encoding from the text given to us.
$charset = mb_detect_encoding($this->root->plaintext . "ascii",
$encoding_list = array( "UTF-8", "CP1252" ) );
Я понимаю, что речь идет о кодировке символов, но это все. Я ничего не нашел об этом ни в Google, ни в SO.
Весь мой код (URL-заполнитель):
<?php
require('simplehtmldom_1_5/simple_html_dom.php');
// Create a DOM object
$dom = new simple_html_dom();
$dom->load_file('http://www.google.com/');
?>
Может ли кто-нибудь сказать мне, что делать? Или какой-то совет, когда что-то подобное происходит.
Заранее спасибо.