php正则表达式获取div标签中的a标签href问题<div class="zx_list_l">
  <ul>
  <li>
  <a href="xxx" target="_blank" class=""></a></li>
 </ul>
</div>
页面上有很多<li>标签 都不是我想要的,我想要的就是在这个div标签中的<li>里面的A连接
用正则的话必须先获取div里面的内容,在获取<ul><li>里面A标签连接
效果:
Array
(
  [0] => http://news.cjcp.com.cn/2012/0917/4316066.html
  [1] => http://news.cjcp.com.cn/2012/0917/4316065.html
  [2] => http://news.cjcp.com.cn/2012/0917/4316064.html
  [3] => http://news.cjcp.com.cn/2012/0917/4316063.html
  [4] => http://news.cjcp.com.cn/2012/0917/4316062.html
  [5] => http://news.cjcp.com.cn/2012/0917/4316061.html
  [6] => http://news.cjcp.com.cn/2012/0917/4316060.html
)

解决方案 »

  1.   

    $str=<<<txt
    <div class="zx_list_l">
      <ul>
      <li>
      <a href="xxx" target="_blank" class=""></a>
    </li>
     </ul>
    </div>
    <div class="aa">
      <ul>
      <li>
      <a href="xxx" target="_blank" class=""></a></li>
     </ul>
    </div>
    txt;
    preg_match('/<div class="zx_list_l">(.*)<\/div>/isU',$str,$m);preg_match_all('/<li.+href="(.*)"/isU',$m[1],$arr);
    print_r($arr[1]);
    如果页面有多个<div class="zx_list_l"> ,则第一步改为preg_match_all ,第二步就要foreach遍历每项再来匹配.