---------------------------------------------------------------------
<A title='<b>20 你应该知道的PHP库</b>' href='http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2011/0824/8811.html'>-------------------------------------------------------------------我要取出这里面的地址http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2011/0824/8811.html,用正则应该怎么写?这样写对吗?
 preg_match_all('/<a\s+href=["|\']?([^>"\' ]+)["|\']?\s*[^>]*>([^>]+)<\/a>/i',$code,$arr); 应该要怎么修改

解决方案 »

  1.   

    <?php
     $str= "<A title='<b>20 你应该知道的PHP库</b>' href='http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2011/0824/8811.html'></a>";
     $patten = "/<a +title *= *'[^']*' *href *= *'([^']*)'.*<\/a>/i";
     preg_match_all($patten,$str,$arr);
     print_r($arr);你的没有匹配title这一块,如果title是可选的:( +title *= *'[^']*)?
    而且匹配href中的内容可以很简单地写作   '([^']*)'