Bloosh Company

記事のサムネイル画像です。

2018年3月10日

Development>サーバーサイド

正規表現でHTMLタグを抜き出したいとき

, ,

PHPのpreg_matchを使ってHTML文書からタグを抜き出したいとき!
<a>タグだけほしいときを例にしてみます。

<div>
<a href="http://example.com/japanese">日本語のページ</a>
</div>

この場合は

/<a.*<\/a>/

これでいいんですが、複数のタグが存在する場合。

<div>
<a href="http://example.com/japanese">日本語のページ</a>
<a href="http://example.com/italian">イタリア語のページ</a>
</div>

検索結果は、このように

$m[0] = <a href="http://example.com/japanese">日本語のページ</a><a href="http://example.com/italian">イタリア語のページ</a>>

認識されてしまいます。
そんなときは、これ!

/<a.*?<\/a>/

*のあとに?マークを入れます。

* 0回以上の繰り返し
? 0回または1回の出現

という意味なので、組み合わせると最短で検出されます!

本日のアイキャッチ

藤の花
ぱくたそ
正規表現でHTMLタグを抜き出したいとき | ブルーシュカンパニー

<<次の記事

IEでもflexボックスでグリッドデザインを作る方法!

前の記事>>

Linuxで、動作中のプロセスを知る方法と、その止め方!