PHPを使っており、file関数でHTMLを読み込んで
指定部分だけを抜き出したいと思っています。

HTMLには<!-- BEGIN -->〜〜〜〜<!-- END -->というような
コメントが入っており、その中身だけを抽出したいと思っております。

まずfile関数で配列にすべてのHTMLを格納しimplideで結合します。

テスト用に以下のものを試しました。


$pattern = "/<!-- BEGIN -->(.*?)<!-- END -->/";

$ary_data[] = "<!-- BEGIN -->\n";
$ary_data[] = "あいうえお\n";
$ary_data[] = "<!-- END -->\n";

$str_data = implode("", $ary_data);

preg_match($pattern, $str_data, $matches);

echo $matches[0];


改行コードが入っているとうまく抽出してくれません。

.*?の部分を[.\s]*?に変えてみたのですが変化がありませんでした。
どのように変更を加えればよいのでしょうか?