<span class='site-span'><a href='http://chongqing.lashou.com/' target="_blank" title="该网站支持百度帐号一站通登录" mon="ipcity=重庆&position=famous&type=site&sitename=拉手网">拉手网</a>
我想匹配
http://chongqing.lashou.com/
拉手网这两个结果,我写的正则表达式为 $regular = '/<a[^>]* href="([^"]*)"[^>]*>(.*)<\/a>/isU';
但是匹配出来的结果是错的误的。

解决方案 »

  1.   

    你的正则里 href=" 双引号,,实际例子是 ' 当然匹配不到了
      

  2.   

    preg_match_all('#<a\s+href\=\'(.*)\'\s+target#',$url,$arr);
    print_r($arr);
      

  3.   

    preg_match_all('#<a\s+href\=[\"\'](.*)[\"\']\s+target#',$url,$arr);
    print_r($arr);
      

  4.   

    preg_match_all('#<a\s+href\=[\"\'](.*)[\"\']\s+target#',$url,$arr);
    print_r($arr);
      

  5.   

    凑合吧...<?php
    $Html=<<<html
        <span class='site-span'><a href='http://chongqing.lashou.com/' target="_blank" title="该网站支持百度帐号一站通登录" mon="ipcity=重庆&position=famous&type=site&sitename=拉手网">拉手网</a>
    html;preg_match_all('/(http:\/\/[a-z\d\.]+)\/\' target=.*">(.*)<\/a>/isU', $Html,$Marry);
    print_r ($Marry[1]);
    print_r ($Marry[2]);
      

  6.   

    preg_match_all('#<a\s+href\=[\"\'](.*)[\"\']\s+target.*['"]>(.*)</a>#',$url,$arr);
    print_r($arr);