日期:2014-05-17  浏览次数:20748 次

求 匹配多个a标签连接和名字 正则表达式
比如这样的源码

HTML code
<td width="95%" class="tdW" colspan="2" ><div class=tdL>知识</div> <a href="http://www.cqvip.com/">维普资讯</a> <a href="http://www.chinaqking.com/">中国期刊网</a> <a href="http://www.qikan.com.cn/">龙源期刊网</a> <a href="http://bk.183.com.cn/index.do">邮政报刊订阅网</a> <a href="http://www.zazhipu.com/">杂志铺</a> <a href="http://wiki.mbalib.com/">MBA智库百科</a> <a href="http://www.cosmoscape.com/">星空天文网</a> <a href="http://www.quanxue.cn/">劝学网</a><br> <a href="http://www.astronomy.com.cn/bbs/">牧夫天文论坛</a> <a href="http://www.patent-cn.com/">专利之家</a> <a href="http://www.sciam.com.cn/">环球科学</a> <a href="http://songshuhui.net/">科学松鼠会</a> <a href="http://www.ufo-1.cn/">UFO探索网</a> <a href="http://www.guokr.com/">果壳网</a> <a href="http://www.5xue.com/">我学网</a> <a href="http://v.163.com/open/">网易公开课</a><br> <a href="http://zh.wikipedia.org/">维基百科</a> <a href="http://www.51zxw.net/">我要自学网</a> <a href="http://www.cscse.edu.cn/">中国留学网</a> <a href="http://www.zhihu.com/">知乎</a> <a href="http://tech.163.com/school/video/">网易学院</a> <a href="http://wenwen.soso.com/">搜搜问问</a> <a href="http://xue.baidu.com/">新手学上网</a> <a href="http://nnsa.mep.gov.cn/">国家核安全局</a><br> <a href="http://www.wordlm.com/">word联盟</a> <a href="http://iask.sina.com.cn/">爱问知识人</a> <a href="http://www.wenming.cn/">中国文明网</a> </td>


唉 说来都不好意思,

前不久问了这个问题 ,但是当时是只有一个a标签时,有很多好心人帮我解决了。http://topic.csdn.net/u/20111216/16/934599d3-8e99-4b94-8dae-28e5b9c455c4.html
但是,现在是多个A标签时,我怎么改都是出错。
还请高手指点一下。我应该怎么弄一下。



------解决方案--------------------
PHP code
preg_match_all('/<a.*href="(.*)".*>(.*)</isU', $str, $matches);
foreach($matches[1] as $k=>$href) {
    $arr[$matches[2][$k]] = $href;
}
var_export($arr);
/**
输出结果:
array ( '维普资讯' => 'http://www.cqvip.com/', '中国期刊网' => 'http://www.chinaqking.com/', '龙源期刊网' => 'http://www.qikan.com.cn/', '邮政报刊订阅网' => 'http://bk.183.com.cn/index.do', '杂志铺' => 'http://www.zazhipu.com/', 'MBA智库百科' => 'http://wiki.mbalib.com/', '星空天文网' => 'http://www.cosmoscape.com/', '劝学网' => 'http://www.quanxue.cn/', '牧夫天文论坛' => 'http://www.astronomy.com.cn/bbs/', '专利之家' => 'http://www.patent-cn.com/', '环球科学' => 'http://www.sciam.com.cn/', '科学松鼠会' => 'http://songshuhui.net/', 'UFO探索网' => 'http://www.ufo-1.cn/', '果壳网' => 'http://www.guokr.com/', '我学网' => 'http://www.5xue.com/', '网易公开课' => 'http://v.163.com/open/', '维基百科' => 'http://zh.wikipedia.org/', '我要自学网' => 'http://www.51zxw.net/', '中国留学网' => 'http://www.cscse.edu.cn/', '知乎' => 'http://www.zhihu.com/', '网易学院' => 'http://tech.163.com/school/video/', '搜搜问问' => 'http://wenwen.soso.com/', '新手学上网' => 'http://xue.baidu.com/', '国家核安全局' => 'http://nnsa.mep.gov.cn/', 'word联盟' => 'http://www.wordlm.com/', '爱问知识人' => 'http://iask.sina.com.cn/', '中国文明网' => 'http://www.wenming.cn/', )

//PS:一次达到,好像没啥方法。
*/

------解决方案--------------------
PHP code
<?php
$str = '<td width="95%" class="tdW" colspan="2" ><div clas