phpの正規表現についてのメモ書きです。


ある文字列の中に検索したい文字列が複数あり、これら全て正規表現で抽出したい場合は


preg_match_all()を使います。


例えば、htmlファイルに


<div class="hogeClass">value1</div> 


という<div class="hogeClass">タグが複数あり、


<div class="hogeClass">タグ内の文字列を全部抽出したい場合は


下のようなコードで全て表示できます。


if( preg_match_all( "/<div class=\"hogeClass\">(.*)<\/div>/", $testHtml, $arrMatch ) ){
foreach( $arrMatch[1] as $value ){
echo $value . "\n";
}
}

(*testHtmlは正規表現で調べたいhtml文字列です。)


$arrMatch[1]に配列として格納されているわけです。