我想使用正则表达式从字符串/内容匹配类名“coremetrics”中获取标签
在 Content href 将像这样可用<a href="/children" class="hp2s_desc_btn hp_sp13_btn_2 coremetrics">
我需要使用标识符类名称“coremetrics”(黑框)在数组中获取 a 标签(红框)
你可以试试这个正则表达式
<a(.+)?class="(.+)?coremetrics">
演示链接http://regex101.com/r/xQ6dR8
第二个正则表达式<a.*?href="([^"]*)".*?class=".*?coremetrics.*?"[^>]*>
如果你使用这个 php 代码
preg_match_all('/<a.*?href="([^"]*)".*?class=".*?coremetrics.*?"[^>]*>/', '<a href="yoursite.com" class="hp2s_desc_btn hp_sp13_btn_2 coremetrics">', $matches);
print_r($matches);
你会这样
Array
(
[0] => Array
(
[0] => <a href="yoursite.com" class="hp2s_desc_btn hp_sp13_btn_2 coremetrics">
)
[1] => Array
(
[0] => yoursite.com
)
)
用于echo $matches[1][0];
回显 href 值
如果您需要检索属于“coremetrics”类的所有链接,那么我建议您使用 XPath 执行此操作。
查询时使用此表达式://a[contains(@class, 'coremetrics')]
结帐:http ://php.net/manual/pl/class.domxpath.php比使用正则表达式方式更容易操作 DOM 树。