phpに関する初歩的な質問です。


下記のようなhtmlから正規表現を使用して、①divタグと中身を削除する ②imgタグを取り出す、をしたいと思い、下記のように書いてみたのですがエラーが出てしまいます。

$hoge = '<div><img src="hoge.jpg" /></div>だんだんと暖かくなってきました…';
$txt = preg_replace('/<div>.*<¥/div>/','',$hoge);
$img = preg_replace('/<¥/div>.*/','<¥/div>',$hoge);

ご教授頂けますでしょうか。
宜しくお願いします。

回答の条件
  • URL必須
  • 1人5回まで
  • 登録:
  • 終了:2012/03/06 15:53:17
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:Cherenkov No.1

回答回数1504ベストアンサー獲得回数493

ポイント100pt
$hoge = '<div><img src="hoge.jpg" /></div>だんだんと暖かくなってきました…';
$txt = preg_replace('/<div>.*<\/div>/iu','',$hoge);
$img = preg_replace('/<div>|<\/div>.*/iu','',$hoge);
//preg_match('/(<img[^>]+>)/u', $hoge, $img); $img = $img[0]; //これでも

id:dmt13

Cherenkovさん、有難う御座います!意図通りの動作が出来ました!
修正と別途書き方を教えていただき、勉強になりました。

2012/03/06 15:53:05
  • id:tdoi
    エラー出てるなら、エラーメッセージくらい書いておいた方がよいかと・・・。
    ちなみに、手元の環境では上記のコードは意図通りかは別として問題なく動作しているように見えます。

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

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

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

回答リクエストを送信したユーザーはいません