頁面一部份如下:
<tr>
<th >落札者</th>
<td>:&nbsp;</td>
<td>
by2***** / 評価:781<br>
</td>
</tr>$html = file_get_contents('http://page5.auctions.yahoo.co.jp/jp/auction/e99459395');
preg_match_all($mode,$html,$value1);
print_r($value1);
echo $value1[1][0];通過正則來獲取by2*****,怎麼寫$mode呢

解决方案 »

  1.   

    我的PHP都是utf-8的,获取的东西是日文编码,所以用了一些编码转换,如果你的php是日文编码那么转换可以省了。
    <?php
    //方法一:
    $html = file_get_contents('http://page5.auctions.yahoo.co.jp/jp/auction/e99459395');
    $html = iconv('EUC-JP','UTF-8',$html);//将获取的日文转为utf-8
    $mode = '#<td>\s*(.*) / 評価:#';
    preg_match_all($mode,$html,$value1);
    print_r($value1);
    echo $value1[1][0];
    echo '<hr/>';
    ?><?php
    //方法二:
    $html = file_get_contents('http://page5.auctions.yahoo.co.jp/jp/auction/e99459393');
    $mode = '#<td>\s*(.*) / 評価:#';
    $mode = iconv('UTF-8','EUC-JP',$mode);//将utf-8的正则转为日文
    preg_match_all($mode,$html,$value1); 
    print_r($value1); 
    echo iconv('EUC-JP','UTF-8',$value1[0][0]);//匹配出来的还是日文,所以要转到utf-8
    echo $value1[1][0];
    ?>
      

  2.   

    楼上的没发现楼主要抓取的是日文的吗?
    http://page5.auctions.yahoo.co.jp/jp/auction/e99459395