我正在尝试解析具有糟糕(相信我,它是)HTML 结构的 HTML 文件,并且由于这一点以及我缺乏知识,我无法编写自己的解析器。后来我尝试使用 Simple HTML Dom 解析器,因为很多人(在 SO 上也是如此)推荐它。
我需要 simple_html_dom.php,然后创建了对象。它们似乎有效,require() 函数返回“1”,而 var_dump()-ing 对象返回一个对象。
在此之后,我尝试按照手册中的方式加载 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" ) );
我知道这是关于字符编码的,但仅此而已。无论是在谷歌还是在 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/');
?>
谁能告诉我该怎么做?或者在发生这种情况时提供某种建议。
提前致谢。