phpで次の文字列から class="test" id="test"を個別に取り出したいと考えています。
php
1$text = "<p class=\"test\" id=\"test\">";
そこで以下のコードを試してみましたが、
php
1<?php 2$text = "<p class=\"test\" id=\"test\">"; 3$pattern = "/<p( +.*=(\".*\"))*>/"; 4$matches = []; 5preg_match($pattern, $text, $matches); 6var_dump($matches); 7?>
結果は
array(3) { [0]=> string(26) "<p class="test" id="test">" [1]=> string(23) " class="test" id="test"" [2]=> string(6) ""test"" }
となってしまいました。
上記のような結果ではなく、
array(3) { [0]=> string(26) "<p class="test" id="test">" [1]=> string(13) " class="test"" [2]=> string(10) " id="test"" }
となることを期待しています。
今回用いたパターンは
php
1$pattern = "/<p( +.*=(\".*\"))*>/";
ですが、どのようにすれば期待した結果になるでしょうか。
よろしくお願いいたします。