• ベストアンサー

正規表現で、指定文字から指定文字までを削除したい

<div class="post-image-border">○○○○</div> をタグ毎削除したいのですが、どうすればよいでしょうか? $data = preg_replace("#\<div class=\"post-image-border\"\>.*\<\/div\>#","",$data); とやってみたのですが、うまくいきませんでした

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4901/10362)
回答No.3

正規表現におかしい点もありますが、 <?php $data='AAA<div class="post-image-border">○○○○</div>BBB'; $data = preg_replace("#\<div class=\"post-image-border\"\>.*\<\/div\>#","",$data); print_r($data); で、ちゃんとAAABBBと表示されましたよ。あるいは、どう表示されて欲しい? 正規表現でおかしなところ(無意味な\)を直すと、 $data = preg_replace("#<div class=\"post-image-border\">.*</div>#","",$data); あるいは、 $data = preg_replace("#<div class=\"post-image-border\">.*?</div>#","",$data); の方がいいでしょうね。

re999
質問者

お礼

回答ありがとうございます。 >ちゃんとAAABBBと表示されましたよ。あるいは、どう表示されて欲しい? そうですか…。きっと何か勘違いをしていたんだと思います。もう一度考え直してみます >正規表現でおかしなところ(無意味な\)を直すと、 ご指摘ありがとうございます。勉強になりましたー

その他の回答 (3)

  • oboroxx
  • ベストアンサー率40% (317/792)
回答No.4

PHPはわかりませんが、 $data = preg_replace("#\<div class=\"post-image-border\"\>.*?\<\/div\>#","",$data); という具合に?が足りないと思います。

re999
質問者

お礼

回答ありがとうございます。 もう一度、よく考えてみますー

  • duowhite
  • ベストアンサー率25% (3/12)
回答No.2

PHPには「strip_tags」という便利な関数がありますが、 これではダメですか?

参考URL:
http://php.net/manual/ja/function.strip-tags.php
re999
質問者

補足

回答ありがとうございます。 「HTML および PHP タグ」を取り除きたいわけではなく、 指定「HTMLタグ」で囲まれた任意の文字列を、タグ毎削除したいです

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

どう「うまくいかない」の? 「厳密には不可能」というのは理解できてるよね? その上で # の意味は?

re999
質問者

補足

回答ありがとうございます。 どう「うまくいかない」の? >削除できません >「厳密には不可能」というのは理解できてるよね? 理解出来てません > # の意味は? デリミタ

関連するQ&A