<a href="http://sports.163.com/" target="_blank" class="text-con">网易体育</a>我想匹配出   http://sports.163.com/
和           网易体育得到的数据变成这样的行式
array(网易体育''=>'http://sports.163.com/')除了写两个正则分别匹配出结果后,然后在来组合,还有没有更简单的方法,(比如说写一条正则全部都匹配出来)
???有这样的方法吗???

解决方案 »

  1.   

    有,你一条正则可以既匹配href也可以匹配中文,比如
    $str = '<a href="http://sports.163.com/" target="_blank" class="text-con">网易体育</a>';
    preg_match('/<a[^>]+href=([^>\s]*) [^>]+>(.*)<\/a>/', $str, $match);
    $arr = Array($match[2] => $match[1]);
    print_r($arr);
      

  2.   

    $s = '<a href="http://sports.163.com/" target="_blank" class="text-con">网易体育</a>';preg_replace('/href="(.+?)".+>(.+)</e', '$ar[$2]="$1"', $s);print_r($ar);Array
    (
        [网易体育] => http://sports.163.com/
    )