人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPで文字列抽出について質問です。

$body = '
<!--ここから-->
HTML
<!--ここまで-->

<!--ここから-->
HTML
<!--ここまで-->
';
※「HTML」の箇所は、HTMLのコードが入っていると想定します。

用途としては、file_get_contentsなどで特定のファイルを開いて、ファイル内のコメントの間を取得し、ヒットした数だけ配列に入れて処理する。と言ったのが目的です。


preg_match_all("/<\!--ここから-->(.*)<\!--ここまで-->/",$body,$array);

としてみたのですが、文字が抽出されません。どうすればいいのでしょうか?
PHPは5.2.8を使っています。

●質問者: kt26
●カテゴリ:ウェブ制作
✍キーワード:BODY HTML PHP コメント コード
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● GoldenDawn
●100ポイント ベストアンサー
<?php
$body = '
<!--ここから-->
HTML1
<!--ここまで-->

<!--ここから-->
HTML2
<!--ここまで-->
' ;

// 最短マッチさせるためにパターンに「?」を加える
// 改行をメタ文字に含ませるために s指定子を加える
preg_match_all("/<\!--ここから-->(.*?)<\!--ここまで-->/s",$body,$array) ;

print_r($array) ;
◎質問者からの返答

出来ました!ずっと悩んでいたのですが、ご指摘いただいた「青色の箇所」が原因だったんですね。非常に参考になりました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ