img srcをregex-phpで操作する

どのように私はこれを置き換えるだろう:

http://example.com/myfolder/files/year/month/imagename-widthxheight.imageextension

これに:

http://example.com/myfolder/files/year/month/imagename-300x300.imageextension

どんな助け?

0
この部分 "widthxheight"はテキストではなく、123x456のような "古い"解像度ですね。
追加された 著者 djot,
はい。それは可変である。ユーザーは異なるサイズの写真をアップロードします。システムは300x300の親指を生成する。サイズ変更と作物。
追加された 著者 marcieng,

2 答え

どのように:

$new_img = preg_replace("~([^/]+)-widthxheight(\.[^.]+)$~i","$1-300x300$2", 
"http://www.mysite.com/myfolder/files/year/month/imagename-widthxheight.imageextension");
1
追加された

これを試してみてください

// if your src has widthxheight are specified literally like that you may try
echo preg_replace("/\W{0,1}(width).*(height)/i","-300x300","http://www.mysite.com/myfolder/files/year/month/imagename-widthxheight.imageextension");
// if your src has widthxheight are specified in int val you may try     
echo preg_replace("/\W{0,1}(\d{1,7}).*(\d{1,7})/i","-300x300","http://www.mysite.com/myfolder/files/year/month/imagename-123x456.imageextension");

-300x300の実際の値は実際の要件によって異なります。だから私は変数を介してこれらの値を渡すのが最善だと思います。

1
追加された
フルイメージタグで操作したい場合は、これも使用できます。preg_replace( "/((d1,7))x(\ d {1,7})\。)/"、 "300x300" 、 ' mysite.com/bela/files/2012/02/turinhorse-620x413.jpg&qu‌ ot ; alt = "" width = "620" height = "413" />Torinóiló - トリノ・ホース - Torinoatı、Tarr'ın2011yapımıfilmi ');
追加された 著者 Jaspreet Chahal,
実際のコンテンツを表示してみましょう。  トリノ馬 - トリノ馬 - トリノ宮殿、Tarr'ın2011 IMDBsayfasıburada
追加された 著者 marcieng,
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com