2013-06-10 2 views
0

У меня есть URL-адрес SRC:Как использовать preg_replace для изменения ссылки на URL?

$url = 'http://www.test.com/uploads/2013/06/test.jpg'; 

И шахтное код:

preg_replace('/-\d+x\d+(?=\.(jpg|jpeg|png|gif)$)/i', '-220x220', $url); 

Как с помощью preg_replace привести это

$url = 'http://www.test.com/uploads/2013/06/test-220x220.jpg'; 
+0

ли код должен всегда вставить '-220x220' между именем файла и расширением? –

ответ

0

Похоже, что вы хотите сделать часть размера факультативно:

preg_replace('/(-\d+x\d+)?(?=\.(jpg|jpeg|png|gif)$)/i', '-220x220', $url); 

And that seems to work.

0

Если цель состоит в том, чтобы просто вставить '-220x220' между именем файла и расширением, вы можете использовать это:

$url = 'http://www.test.com/uploads/2013/06/test.jpg'; 

$file = pathinfo(basename($url)); 
if (in_array($file['extension'], array('jpg', 'jpeg', 'png', 'gif')) { 
    $url = dirname($url) . '/' . $file['filename'] . '-220x220.' .$file['extension']; 
} 

Смотрите также: basename(), pathinfo()

Смежные вопросы