求一正则表达式, 多谢

WBOY
發布: 2016-06-13 12:50:16
原創
779 人瀏覽過

求一正则表达式, 谢谢

本帖最后由 phpisshow 于 2013-03-29 15:23:27 编辑
<br />
<body><br />
<br />
<a href="/news/news-list.php?id=5">标题名称</a><br />
<br />
<a <br />
href="<br />
/news/news-list.php?id=6">标题名称</a><br />
<br />
<a class="bds_qzone"></a> <a class="bds_tsina"></a> <a class="bds_tqq"></a> <a href="/news/news-list.php?id=7">标题名称</a><br />
<br />
</body><br />
登入後複製



匹配页面中所有带有href链接的A标签,不带href的不需要,

需要提出三个参数, 1, 标题名称这一整段 2,/news/news-list.php?id=5链接地址 3,标题名称

我之前这样的
<br />
preg_match_all('/<a(?:[\s\S]*?)href\s*?=\s*?[\'"](((?:http(?:s?):\/\/)?([^\"\'\/]+))?(?:[^\"\']*))[\'"](?:[^>]*?)>([\s\S]*?)<\/a>/i'<br />
登入後複製

但第三种没有href的就一直匹配下去了。把整个没带href的A标签也匹配进去了.但这又不是贪婪匹配

求个能解决的正则啊啊,谢谢各位了


------解决方案--------------------
$s=<<
<br />
<body><br />
<br />
<a href="/news/news-list.php?id=5">标题名称</a><br />
<br />
<a <br />
href="<br />
/news/news-list.php?id=6">标题名称</a><br />
<br />
<a class="bds_qzone"></a> <a class="bds_tsina"></a> <a class="bds_tqq"></a> <a href="/news/news-list.php?id=7">标题名称</a><br />
<br />
</body><br />
html;
preg_match_all('/]+href="(.+)"[^>]*>(.+)<\/a>/isU',$s,$m);
print_r($m);
登入後複製
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!