• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:画像の置換え)

画像置換えの方法を教えてください

このQ&Aのポイント
  • プログラム初心者の方に、正規表現を使用して画像の置換えを行う方法をお教えします。
  • 拡張子がgif、png、jpgの画像の番号を正規表現で検索し、テキストを置き換えます。
  • 具体的な例を示しています。

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

  • ベストアンサー
noname#244856
noname#244856
回答No.1

1つの文字列中にまとめて存在しているならば $pattern = '/\b\d++\.(?:png|gif|jpe?+g)\b/i'; それぞれが別の文字列として独立しているならば $pattern = '/\A\d++\.(?:png|gif|jpe?+g)\z/i'; として、 $mes = preg_replace($pattern, '<a href="$0">$0</a>', $mes); で動作します。preg_matchを行う必要はありません。

flash0
質問者

お礼

回答ありがとうございます ばっちり動きました!さすがです

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

微妙にずれている気がしますが、こんな感じで? <?PHP $mes=<<<EOF xxx56.gifxxx100.gifxxxx 6.png yyy123.bmpyyy6549.pngyyy 79169.jpg zzz35.jpgzzz EOF; print nl2br(htmlspecialchars($mes)); print "<hr>"; $pattern = "/\d+.(?:png|gif|jpg)/mis"; $replacement="<a href=\"$0\">$0</a>"; $mes=preg_replace($pattern,$replacement,$mes); print nl2br(htmlspecialchars($mes));

flash0
質問者

お礼

回答ありがとうございます こちらも、ばっちり動きました!感謝いたします

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

英字+数字+拡張子の場合どこまでヒットさせるかなど もう少し仕様を詰めた方がいいですね たとえば「xxx1.jpg」は「1.jpg」をヒットさせるのか、 それともヒットさせないのか

flash0
質問者

お礼

回答ありがとうございます 1.jpgはヒットさせる予定です 数字+拡張子なので 1.jpg、11.jpg、111.jpgなど桁数も変わってしまいます。番号も変わります 拡張子は3つのみです

関連するQ&A