<li>
<div class="item">
<div class="pic">
<a href="http://item.taobao.com/item.htm?id=4324202855" target="_blank">
<img src="http://img04.taobaocdn.com/bao/uploaded/i4/T1w9xBXmxCXXXiZPcZ_033027.jpg_160x160.jpg"/>
</a>
</div>
<div class="desc">
<a target="_blank" href="http://item.taobao.com/item.htm?id=4324202855" class="permalink">
全新联想Y430 Y450 Y510 G430A G450 G450L专用无线网卡不报错
</a>
</div>
<div class="price"><span>
 一口价</span>
<strong>30.00 元</strong>
</div>
</div>
</li>
上面是要处理的$str, 我要 把图片链接 <a href="http://item.taobao.com/item.htm?id=4324202855" target="_blank">
<img src="http://img04.taobaocdn.com/bao/uploaded/i4/T1w9xBXmxCXXXiZPcZ_033027.jpg_160x160.jpg"/>
</a> 匹配提取出来
 
匹配图片的链接  我写成这样:"/<a(.*?)href=\"(.*?)\"(.*?)><img src=\"(.+?)\"/> <\/a>/"; 不成功 不知道错在哪里?

解决方案 »

  1.   

    $var='<li>
    <div class="item">
    <div class="pic">
    <a href="http://item.taobao.com/item.htm?id=4324202855" target="_blank">
    <img src="http://img04.taobaocdn.com/bao/uploaded/i4/T1w9xBXmxCXXXiZPcZ_033027.jpg_160x160.jpg"/>
    </a>
    </div>
    <div class="desc">
    <a target="_blank" href="http://item.taobao.com/item.htm?id=4324202855" class="permalink">
    全新联想Y430 Y450 Y510 G430A G450 G450L专用无线网卡不报错
    </a>
    </div>
    <div class="price"><span>
     一口价</span>
    <strong>30.00 元</strong>
    </div>
    </div>
    </li>';preg_match_all('/src=[\"\']([^\"\' ]+)/i',$var,$match);
    print_r($match[1]);
      

  2.   

    谢谢 斯坦福 '/src=[\"\']([^\"\' ]+)/i'     匹配的是 src="http://img04.taobaocdn.com/bao/uploaded/i4/T1w9xBXmxCXXXiZPcZ_033027.jpg_160x160.jpg 这一段, 我要的包括点击图片所打开的链接也在内:<a href="http://item.taobao.com/item.htm?id=4324202855" target="_blank">
    <img src="http://img04.taobaocdn.com/bao/uploaded/i4/T1w9xBXmxCXXXiZPcZ_033027.jpg_160x160.jpg"/>
    </a>
      

  3.   

    这个也好办啊,地址已经出来了,链接地址也可以用同样的办法,preg_match_all('/a href=[\"\']|/src=[\"\']([^\"\' ]+)/i',$var,$match);,输出时你稍做处理就可以了啊。也可以通用的匹配。你参考我的方法自己研究一下。
      

  4.   

    没试出来
    <?php$var= file_get_contents("http://shop34891031.taobao.com");
    preg_match_all('/a href=[\"\']|/src=[\"\']([^\"\' ]+)/i',$var,$match);print_r($match[0]);
    ?>以上是这样 应用  会出现 
    preg_match_all() [function.preg-match-all]: Unknown modifier 'r' 的错误提示,