本帖最后由 huangdancs 于 2012-10-20 15:31:41 编辑

解决方案 »

  1.   


    <?php
    $str='<td class="image">
        <a href="/title/tt0948470/" title="The Amazing Spider-Man (2012)"><img src="http://ia.media-imdb.com/images/M/MV5BMjMyOTM4MDMxNV5BMl5BanBnXkFtZTcwNjIyNzExOA@@._V1._SX54_CR0,0,54,74_.jpg" height="74" width="54" alt="The Amazing Spider-Man (2012)" title="The Amazing Spider-Man (2012)"></a>
    <a href="/title/tt0948470/" title="The Amazing Spider-Man (2012)">
      </td>';
    $patten = '/title="(.*)"/Uis';
    if (preg_match ( $patten, $str, $array )) {
    print_r($array);
    }
    echo "<br>";
    $patten1 = '/<a href=".*" title="(.*)">/Uis';
    if (preg_match_all ( $patten1, $str, $array1 )) {
    print_r($array1[1]);
    }
    ?>
      

  2.   


    $string='<td class="image"><a href="/title/tt0948470/" title="The Amazing Spider-Man (2012)1"><img src="http://ia.media-imdb.com/images/M/MV5BMjMyOTM4MDMxNV5BMl5BanBnXkFtZTcwNjIyNzExOA@@._V1._SX54_CR0,0,54,74_.jpg" height="74" width="54" alt="The Amazing Spider-Man (2012)" title="The Amazing Spider-Man (2012)3"></a><a href="/title/tt0948470/" title="The Amazing Spider-Man (2012)2"></td>'; 
    if (preg_match_all ( '/(?<=\s)title="(.*)"/Ui', $string, $arr )) {
    var_dump($arr);
    }
    /*
    <br>array(2) {
      [0]=>
      array(3) {
        [0]=>
        string(38) "title="The Amazing Spider-Man (2012)1""
        [1]=>
        string(38) "title="The Amazing Spider-Man (2012)3""
        [2]=>
        string(38) "title="The Amazing Spider-Man (2012)2""
      }
      [1]=>
      array(3) {
        [0]=>
        string(30) "The Amazing Spider-Man (2012)1"
        [1]=>
        string(30) "The Amazing Spider-Man (2012)3"
        [2]=>
        string(30) "The Amazing Spider-Man (2012)2"
      }
    } */
      

  3.   


    谢谢,达到了目的。
    但是我不是很清楚是如何往$array和$array1里面存数据的。能指点一下吗?
      

  4.   

    你可以把$array1[1]中的数组整合到其他数组里 
    如$all['title']=$array1[1]
    数据取到怎么用就是看需求的了
      

  5.   


    不好意思,可能是我问得不清楚。
    我是想知道为什么array[0]的结果是:title="The Amazing Spider-Man (2012)"
    而array[1]的结果是:The Amazing Spider-Man (2012)
      

  6.   

    preg_match  preg_match_all 用法不同造成的
    preg_match_all
    结果排序为$matches[0]包含第一次匹配得到的所有匹配(包含子组), $matches[1]是包含第二次匹配到的所有匹配(包含子组)的数组, 以此类推. 
    可以多看看手册 正则方面的 最好有个系统的了解
      

  7.   


    $html = new simple_html_dom();
    $html->load('<td class="image">
        <a href="/title/tt0948470/" title="The Amazing Spider-Man (2012)"><img src="http://ia.media-imdb.com/images/M/MV5BMjMyOTM4MDMxNV5BMl5BanBnXkFtZTcwNjIyNzExOA@@._V1._SX54_CR0,0,54,74_.jpg" height="74" width="54" alt="The Amazing Spider-Man (2012)" title="The Amazing Spider-Man (2012)"></a>
      </td>');
    $title = $html->find('.image a');
    print_r($title[0]->attr['title']);
    The Amazing Spider-Man (2012)