解决方案 »

  1.   

    http://www.baidu.com/ 是 utf-8 的
    http://www.qq.com/ 是 gbk 的,在 utf-8 环境中看不见中文是正常的
      

  2.   

    是转换 iconv($d[1][0])  这样,还是  iconv($data)  ?
      

  3.   

    那为什么有的编码是<meta charset="utf-8" />的网站 也是获取不到title
      

  4.   

    首先,你对 http://www.qq.com/ 看到 Array ( [0] => Array ( ) [1] => Array ( ) ) 这就表示 title 已经取到了。只不过因为你的浏览器的原因,看不见而已。你用 var_dump 就可看到,他并非空数组你的规则串是 /<title>(.*)<\/title>/s 并没有忽略大小写,如果 title 标记是大写的,你就取不到
      

  5.   

    var_dump($d);我这样写了..还是不行  ,
    array(2) { [0]=> array(0) { } [1]=> array(0) { } } 结果是这样的
      

  6.   

    抓取QQ内容的时候;可以
    1、把浏览器的编码设置为gbk;
    或者
    2、echo iconv('gbk','utf-8',$d[1][0]);
      

  7.   

    header('Content-type: text/html;charset=GBK');
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,"http://www.qq.com/");
    curl_setopt($ch,CURLOPT_HEADER,true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $data = curl_exec($ch);
     
    if($data === false){
      echo "error!";
    }
    curl_close($ch);
       
    preg_match_all("/<title>(.*)<\/title>/s",$data,$d,PREG_PATTERN_ORDER);
    print_r($d);
    echo $d[1][0];Array
    (
        [0] => Array
            (
                [0] => <title>腾讯首页</title>
            )    [1] => Array
            (
                [0] => 腾讯首页
            ))
    腾讯首页