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

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

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

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

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

▽最新の回答へ

1 ● Committeeman
●35ポイント
<?php
$html=file_get_contents("http://q.hatena.ne.jp/1273817301");
preg_match_all("/\<!--(.*)?--\>/i",$html,$match);
print_r($match);
?>
◎質問者からの返答

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

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

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

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

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

以下実行ファイルです

$html='

ダミーテキスト


テスト
';


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

preg_match_all("/\


2 ● Committeeman
●35ポイント

訂正

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);
?>

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

◎質問者からの返答

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

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

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

関連質問


●質問をもっと探す●



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