php - 正在做一个有关获取价格的项目,匹配价格上出现一点问题,求指教
伊谢尔伦
伊谢尔伦 2017-04-11 10:31:12
[PHP讨论组]
$fp = fopen("https://list.tmall.com/search_product.htm?q=hello kitty&sort=p&style=g&tmhkmain=0#J_Filter","r");
 $tmall = stream_get_contents($fp, 1024*1024);
    $tmall = urlencode($tmall);
     $rule = '/class%3D%22product%22(.*)class%3D%22product%22/s';
     preg_match($rule,$tmall,$result);
    print_r($result);
    exit;//打印不出来
     $goods_p=urldecode($result[0]);
     $rule_price='/<\/b>(.*)<\/em>/';
     $rule_url = '/detail.tmall.com.*" /';
     preg_match($rule_price,$goods_p,$price);
     preg_match($rule_url,$goods_p,$url);
     $url=explode('"', $url[0]);
     echo $price[1].$url[0];

是匹配的规则出错了吗

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(1)
迷茫
error_reporting(0);
 $res = file_get_contents("https://list.tmall.com/search_product.htm?q=hello%20kitty&sort=p&style=g&tmhkmain=0");
 
 preg_match_all('/<p\sclass="product.*>.*<\/span>.*<\/p>.*<\/p>.*<\/p>/Uis', $res,$m);
 
 
 foreach ($m[0] as $k=>$v){
  
     preg_match_all('/(data-ks-lazyload|src)=.*"\/\/(img.*)".*>.*<em\stitle="(.*)"><b>.*<a\shref="\/\/(.*)".*>(.*)<\/a>.*<span>.* <em>(.*)<\/em><\/span>/Uis', $v,$mm);
   
      $data[$k][title] = trim($mm[5][0]);
      $data[$k][price] = $mm[3][0]; 
      $data[$k][cj_nums] = $mm[6][0]; 
      $data[$k][url] = htmlspecialchars_decode($mm[4][0]); 
      $data[$k][img] = $mm[2][0]; 
      
 }
 var_dump($data);die;
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号