• ベストアンサー

ログから抽出された特定文字列の置換

こんばんは。よろしくおねがいします。 現在、以下のスクリプトの作成に苦労しており、アドバイスいただけたらと思います。 投稿者の方が画像を文章を添えてアップロード(複数可)したデータの保存用ログファイルに会員NO、名前、メアド、発言の内容で、$no<>$name<>$email<>$dat1<>$no<>$name・・・のような書式でログを作成するようにしています。 splitで分割後、この中の$dat1の中から特定のHTMLタグの改ざんをしたいのですが、どういったスクリプトを書けば良いでしょう? 例えば、$dat1の中の<img>タグをすべて調べて、<img>内にALTが設定されていた場合は、それを削除したいといったような感じです。 ALTが無い場合は無視するか、そのままなにもいじらないようにしたいです。 どうぞ、宜しくお願いします。

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

  • ベストアンサー
  • omni2
  • ベストアンサー率53% (33/62)
回答No.2

$dat1 =~ s/(<img[^>]*)alt=([^\s>]*)([^>]*?>)/$1$3/sgi; こんな感じでもできるんだろうか?? すいません、まちがってるかもしれません。

boze777
質問者

お礼

解決したようです。 ありがとうございました。

その他の回答 (1)

  • taseki
  • ベストアンサー率66% (155/233)
回答No.1

こんな感じですかね。 あまりテストしてないですが。 $dat1 =~ s/(<img [^>]*)alt=("|')?[^$2>]*$2([^>]*>)/$1$3/gis; また日本語が含まれる場合は注意が必要です。

boze777
質問者

お礼

解決したようです。 お二方とも、本当にありがとうございました。

関連するQ&A