如何使用regexp从div获取所有锚标记文本

时间:2016-10-05 05:36:10

标签: php regex preg-match preg-match-all

我的html content以下anchor tag我想要获取<div class="row mb-xlg"><div class="col-md-12"> <div class="heading heading-border heading-middle-border"><h3>Compatible Models</h3></div> <div class="row show-grid"> <div class="col-md-4"><a href="/model/SFSPC19S80/_/_/Sanyo/PC19S80/" title="Sanyo PC19S80 Remote Control (Pc-27s80)">PC19S80</a></div> <div class="col-md-4"><a href="/model/SFSPC25580/_/_/Sanyo/PC25580/" title="Sanyo PC25580 Remote Control (Pc-27s80)">PC25580</a></div> <div class="col-md-4"><a href="/model/SFSPC25S80/_/_/Sanyo/PC25S80/" title="Sanyo PC25S80 Remote Control (Pc-27s80)">PC25S80</a></div> <div class="col-md-4"><a href="/model/SFSPC27S80/_/_/Sanyo/PC27S80/" title="Sanyo PC27S80 Remote Control (Pc-27s80)">PC27S80</a></div> </div></div></div> 之间的所有文字

anchor tag

我有正则表达式,它返回<a[^>]*>([^<]+)<\/a>+

之间的所有文字
Full match  `<a href="/model/SFSPC25580/_/_/Sanyo/PC25580/" title="Sanyo PC25580 Remote Control (Pc-27s80)">PC25580</a>`
Group 1.    `PC25580`
Match 3
Full match  `<a href="/model/SFSPC25S80/_/_/Sanyo/PC25S80/" title="Sanyo PC25S80 Remote Control (Pc-27s80)">PC25S80</a>`
Group 1.    `PC25S80`
Match 4
Full match  `<a href="/model/SFSPC27S80/_/_/Sanyo/PC27S80/" title="Sanyo PC27S80 Remote Control (Pc-27s80)">PC27S80</a>`
Group 1.    `PC27S80`

this website

上进行测试

结果 -

Compatible Models

但我想添加<h3>Compatible Models<\/h3>.*?<a[^>]*>([^<]+)<\/a>+ 字条件,如

array

在这种情况下,它只返回第一个锚标记结果。 如何在 public static boolean isValidFormat(String format, String value) { Date date = null; try { SimpleDateFormat sdf = new SimpleDateFormat(format); date = sdf.parse(value); if (!value.equals(sdf.format(date))) { date = null; return true; } } catch (ParseException ex) { ex.printStackTrace(); } return false; }

中实现所有锚标记文本结果和存储

1 个答案:

答案 0 :(得分:0)

不要为此使用正则表达式。相反,你应该使用DOM Parser:

下一个链接只包含一个很好的答案,为什么你不应该使用正则表达式: