本帖最后由 xulichen888 于 2013-01-24 10:33:36 编辑

解决方案 »

  1.   

    $s='a567bcdef(共1234张)msk789shz';
    preg_match('/\(共(\d+)张\)/',$s,$m);
    echo $m[1];
      

  2.   

    <?php
    $content = file_get_contents("http://www.douban.com/online/11422685/album/83272525/");
    preg_match_all("/\(共(\d+)张\)/", $content, $match);
    echo $match[1];
    ?>
    你看看 我这个写法为什么得不出结果,而只是显示一个array???
      

  3.   

    preg_match_all将会返回一个二维数组,也就是说$match[1]是所有能匹配到的数据集合。
    但看你的需求,用 preg_match() 匹配一条即可
      

  4.   


    preg_match("/\(共(\d+)张\)/", $content, $match);
    echo $match[1];这样就显示数组越界 Notice: Undefined offset: 1 请问怎么解决啊?
      

  5.   

    匹配规则没有问题,再试一次,另外可以 var_dump($match); 看看
      

  6.   

    需要说明一点,由于你的程序涉及到中文字符,所以必须要和匹配内容页面的编码保持一致,也就是你的程序文件要用UTF-8保存
      

  7.   


    显示 array(0) { }
    我怀疑是$content = file_get_contents("http://www.douban.com/online/11422685/album/83272525/");
    这个有问题。应该没有进行这个过程。但是我直接echo $content 却可以显示内容。