▽1
●
a-kuma3 ベストアンサー |
\s*(.*)\s*
の部分、こうしてみたらどうでしょう。
\s*([^<\s]*)\s*
.*
が強くマッチするからです。<?php $html = '<tr class="a"><td class="b">1</td><td class="c">1</td><td class="d"><a href="test1">test1</a></td><td class="e">1</td><td class="f"><a href="test1">test1</a></td></tr><tr class="a"><td class="b">2</td><td class="c">2</td><td class="d"><a href="test2">test2</a></td><td class="e">2</td><td class="f"><a href="test2">test2</a></td></tr><tr class="a"><td class="b">3</td><td class="c">3</td><td class="d"><a href="test3">test3</a></td><td class="e">3</td><td class="f"><a href="test3">test3</a></td></tr>'; preg_match_all('@<tr.*><td.*>(.*)<\/td><td.*>(.*)<\/td><td.*>(<a.*>.*<\/a>)<\/td><td.*>(.*)<\/td><td.*>(<a.*>.*<\/a>)<\/td><\/tr>@U', $html, $matches); var_dump($matches);
array(6) { [0]=> array(3) { [0]=> string(167) "<tr class="a"><td class="b">1</td><td class="c">1</td><td class="d"><a href="test1">test1</a></td><td class="e">1</td><td class="f"><a href="test1">test1</a></td></tr>" [1]=> string(167) "<tr class="a"><td class="b">2</td><td class="c">2</td><td class="d"><a href="test2">test2</a></td><td class="e">2</td><td class="f"><a href="test2">test2</a></td></tr>" [2]=> string(167) "<tr class="a"><td class="b">3</td><td class="c">3</td><td class="d"><a href="test3">test3</a></td><td class="e">3</td><td class="f"><a href="test3">test3</a></td></tr>" } [1]=> array(3) { [0]=> string(1) "1" [1]=> string(1) "2" [2]=> string(1) "3" } [2]=> array(3) { [0]=> string(1) "1" [1]=> string(1) "2" [2]=> string(1) "3" } [3]=> array(3) { [0]=> string(25) "<a href="test1">test1</a>" [1]=> string(25) "<a href="test2">test2</a>" [2]=> string(25) "<a href="test3">test3</a>" } [4]=> array(3) { [0]=> string(1) "1" [1]=> string(1) "2" [2]=> string(1) "3" } [5]=> array(3) { [0]=> string(25) "<a href="test1">test1</a>" [1]=> string(25) "<a href="test2">test2</a>" [2]=> string(25) "<a href="test3">test3</a>" } }