PHPのpreg_matchを使ってHTML文書からタグを抜き出したいとき!
<a>タグだけほしいときを例にしてみます。
<div>
<a href="https://example.com/japanese">日本語のページ</a>
</div>
この場合は
/<a.*</a>/
これでいいんですが、複数のタグが存在する場合。
<div>
<a href="https://example.com/japanese">日本語のページ</a>
<a href="https://example.com/italian">イタリア語のページ</a>
</div>
検索結果は、このように
$m[0] = <a href="https://example.com/japanese">日本語のページ</a><a href="https://example.com/italian">イタリア語のページ</a>>
認識されてしまいます。
そんなときは、これ!
/<a.*?</a>/
*のあとに?マークを入れます。
* | 0回以上の繰り返し |
? | 0回または1回の出現 |
という意味なので、組み合わせると最短で検出されます!
本日のアイキャッチ