我想循环获取
<b><a id="shop_cmpname_qt_1" href="http://shanghai.anjuke.com/store.php?coid=33620" target=_blank>我爱我家 我爱我家颛桥一店</a></b>
这段代码中的 "我爱我家 我爱我家颛桥一店"  这个数据。
href="http://shanghai.anjuke.com/store.php?coid=33620" target=_blank>
这段代码中coid的ID是变化的,怎么根据正则表达式获取我要的数据

解决方案 »

  1.   


    $str = '<b><a id="shop_cmpname_qt_1" href="http://shanghai.anjuke.com/store.php?coid=33620" target=_blank>我爱我家 我爱我家颛桥一店</a></b>';
    $match = "/<a\s+(?:.*?)http:\/\/shanghai.anjuke.com\/store.php(?:[^>]*?)>(.*?)<\/a>/";
    $res = preg_match_all( $match , $str , $arr );
    var_dump($arr);
    echo $arr[1];
      

  2.   


    ?:的意思就是不在$arr中保存取得的值      你把?:去掉看一下输出的结果  你就知道了