我初用PHP, 有个小程序要做。有一个html文件, 是utf-8编码的。 中文内容。  需要提取一个table标签下面的所有内容。
我的初步代码是:
        $filename = "/home/a.html";

$doc = new DOMDocument();
$doc->loadHTMLFile($filename); $xpath = new DOMXPath($doc);

$dddd = $xpath->query("//table[@class='index_main']");

foreach($dddd as $d){
 echo iconv("UTF-8", "ISO8859-1", $d->nodeValue);
// echo $d->nodeValue;
 
}
现在问题是, iconv的时候, 好多字符认不出来, 整个输出只能进行一段就被强制退出来了。还有就是, 如果文档结构是固定的, 如何直接到达这个table标签, 并且取得这个table标签下的内容?谢谢。

解决方案 »

  1.   

    我比较好奇,有中文为什么要转成ISO8859-1编码呢?不转GB吗?
    echo iconv("UTF-8", "ISO8859-1//IGNORE", $d->nodeValue);
      

  2.   

    提一个TABLE标签,没那以复杂吧,直接用DOM模型,就能搞的定吧。
      

  3.   

    echo iconv("UTF-8", "ISO8859-1", $d->nodeValue);
    换成GBK或者GB2312试试。
      

  4.   

    iconv("UTF-8", "gb18030", $d->nodeValue);
    转换成简体中文就行了。
    你可以一行一行输出,看看是在哪会推出。
      

  5.   

    发现是html文件里面有这样的东东:"奉献……"所有, iconv的时候出错了。 请问, 这要怎么解决?
      

  6.   

    iconv要加个容错参数: iconv("UTF-8", "iso8859-1//TRANSLIT", $text);