本帖最后由 cnaaa8 于 2012-06-11 13:09:29 编辑

解决方案 »

  1.   

    三个一样的贴? class只要包含 J_MakePoint 就匹配?
      

  2.   


    <?php
    $url='http://rate.taobao.com/user-rate-39512.htm';
    $data=file_get_contents($url);
    preg_match_all("/<a href\=\"http:\/\/ratehis.taobao.com\/user-rate-39512(.*)\" class\=\"J_MakePoint\" data\-point\-val\=\"(.*)\">(.*)<\/a>/U",$data,$contents);
    echo '第一条数据:'.$contents[3][0].'<br />';
    echo '第二条数据:'.$contents[3][1].'<br />';
    echo '第三条数据:'.$contents[3][2].'<br />';
    ?>楼主是不是要这个
      

  3.   

    <a href="#" class="J_show_list J_MakePoint" data-point-val="tbrate.2.4.1" data-param='timeLine=-210&result=1'>289048</a>这个没有匹配到啊
      

  4.   

    [User:root Time:16:11:47 Path:/home/liangdong/php]$ php preg.php 
    Array
    (
        [0] => Array
            (
                [0] => class="J_MakePoint" data-point-val="tbrate.2.5.1">4508530</a>
                [1] => class="J_show_list J_MakePoint" data-point-val="tbrate.2.4.1" data-param='timeLine=-210&result=1'>289048</a>
            )    [1] => Array
            (
                [0] => class="J_MakePoint" data-point-val="tbrate.2.5.1">
                [1] => class="J_show_list J_MakePoint" data-point-val="tbrate.2.4.1" data-param='timeLine=-210&result=1'>
            )    [2] => Array
            (
                [0] => 4508530
                [1] => 289048
            ))
    [User:root Time:16:11:48 Path:/home/liangdong/php]$ cat preg.php 
    <?php
    $str = <<<EOF
    <a href="http://ratehis.taobao.com/user-rate-39512--isarchive|true--detailed|1--goodNeutralOrBad|1--timeLine|-211--receivedOrPosted|0--buyerOrSeller|0.htm#RateType" class="J_MakePoint" data-point-val="tbrate.2.5.1">4508530</a>
    <a href="#" class="J_show_list J_MakePoint" data-point-val="tbrate.2.4.1" data-param='timeLine=-210&result=1'>289048</a>
    EOF;
    $nmatches = preg_match_all('/(class="J_MakePoint" data-point-val="tbrate.2.5.1">|class="J_show_list J_MakePoint" data-point-val="tbrate.2.4.1" data-param=\'timeLine=-210&result=1\'>)(.*)<\/a>/iUs', $str, $matches);
    print_r($matches);
    ?>