Home >Backend Development >PHP Tutorial >求 匹配多个a标签连接和名字 正则表达式解决方案
求 匹配多个a标签连接和名字 正则表达式
比如这样的源码
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><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>
preg_match_all('/<a.>(.*)', $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:一次达到,好像没啥方法。*/<br><font color="#e78608">------解决方案--------------------</font><br><dl class="code">PHP code<pre class="brush:php;toolbar:false"><?php $str = '<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> ';$patten = '/<a>(.*)/iU';preg_match_all($patten,$str,$match);$result = array();for($i = 0;$i<count>";print_r($result);?><div class="clear"> </div></count></a>