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
)
)
繰り返しパターンからすべての結果を返すにはどうすればよいですか?