PHP preg_match_all()について質問です。

PHPでimgタグを取得する方法として検索してみたところ下記のような記述がありました。

$html=file_get_contents("0000.html");
preg_match_all("/\<img ([^\>]+)\>/i",$html,$match);

私は「$html」に含まれているコメント「<!--hoge1-->や<!--hoge2-->」を取得したいと考えております。
正規表現が理解できておりませんので、お分かりになる方よろしくお願いいたします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2010/05/14 15:08:23
  • 終了:2010/05/14 15:48:22

回答(2件)

id:Committeeman No.1

Committeeman回答回数153ベストアンサー獲得回数192010/05/14 15:24:00

ポイント35pt
<?php
$html=file_get_contents("http://q.hatena.ne.jp/1273817301");
preg_match_all("/\<!--(.*)?--\>/i",$html,$match);
print_r($match);
?>
id:clab_yasu

早速のご回答ありがとうございました。

教えていただきましたプログラムを元に下記の通り記述して実行してみたところ、

1つ目のコメント「コメント1-->」と取得されました。

「コメント1〜コメント4」まで全て取得する方法はございませんでしょうか?

ご検討よろしくお願いいたします。

以下実行ファイルです

$html='

ダミーテキスト


テスト
';


$html = preg_replace("/(\n|\r)/","",$html);

preg_match_all("/\2010/05/14 15:44:32

id:Committeeman No.2

Committeeman回答回数153ベストアンサー獲得回数192010/05/14 15:40:58

ポイント35pt

訂正

preg_match_all("/<!--(.*?)-->/",$html,$match);

複数行対応版

<?php
$html=file_get_contents("http://q.hatena.ne.jp/1273817301");
preg_match_all("/<!--(.*?)-->/", str_replace(array("\r\n","\n","\r"), '', $html) ,$match);
print_r($match);
?>

両方やってみて結果を見比べてみるとよいでしょう

id:clab_yasu

お世話になっております。

回答1に返信させていただきました内容は今回の回答2で解決いたしました。

本当に素早いご対応ありがとうございました。

2010/05/14 15:48:05

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません