使用Regex和PHP检查href属性

时间:2015-03-12 13:51:31

标签: php regex html-parsing

鉴于以下html代码,我想检测链接的真实href。你看到我在div中也有一个“假的”href。

$html = '
<a  class="test">simple text</a>
<div data-href="yahoo.com">yahoo in div</div>
<a class="blabla"   href="google.com">google</a>';

preg_match("'<a.*?href=[\'\"](.*?)[\'\"]'si", $html, $output);

我现在得到的是yahoo.com,但这不是我需要的......我想收到google.com。

你有任何想法吗?

2 个答案:

答案 0 :(得分:0)

你可以试试这个:

(?<=href=")(\w+)\.\w+(?=">\1[^ ])

检查:https://regex101.com/r/nB1wP4/5

答案 1 :(得分:0)

我会尝试简化。试一试https://regex101.com/r/oU6kR8/1

\shref="([a-z.\/:]+)"