我正在尝试使用 PHP 捕获 HTML 中超链接的所有属性,但我的正则表达式只返回最后一个属性和值。
HTML:
$string = '
<a href="http://www.example.com/" style="font-weight: bold;">Example</a>
<a href="http://www.exampletwo.com/ style="font-weight: bold;">Example Two</a>
';
正则表达式:
preg_match_all('/<a(?: (.*?)="(.*?)")*>(.*?)<\/a>/i', $string, $result);
结果:
Array
(
[0] => Array
(
[0] => <a href="http://www.example.com/" style="font-weight: bold;">Example</a>
[1] => <a href="http://www.exampletwo.com/" style="font-weight: bold;">Example Two</a>
)
[1] => Array
(
[0] => style
[1] => style
)
[2] => Array
(
[0] => font-weight: bold;
[1] => font-weight: bold;
)
[3] => Array
(
[0] => Example
[1] => Example Two
)
)
我怎样才能让它返回重复模式的所有结果?