2015-07-18 2 views
-4

Я хочу изменить этот адрес из:preg_replace() не работает, как ожидалось

https://lh3.googleusercontent.com/-5EoWQXUJMiA/VZ86O7eskeI/AAAAAAADHGs/ej6F-va__Ig/s1600/i2Fun.com-helpful-dogs-015.gif 

к этому:

http://3.bp.blogspot.com/-5EoWQXUJMiA/VZ86O7eskeI/AAAAAAADHGs/ej6F-va__Ig/s1600/i2Fun.com-helpful-dogs-015.gif 

Это мой код, но он не работает, как ожидалось:

$link = preg_replace('#^https?://.*?/(.+?/)(s\d+/)?([\w_-]+\.[\w]{3,})?$#i','http://3.bp.blogspot.com/$1s0/$3',$url); 

ответ

1

Это простая замена.

Поиск "https://lh3.googleusercontent.com/". Заменить на "http://3.bp.blogspot.com/".

str_replace() сделаю это. Я что-то упускаю?

+1

, но это не всегда является «https://lh3.googleusercontent.com/", это может быть lh1, lh2, lh3 ... – anhmjn

+1

Как я могу узнать это из вашего вопроса? Вы не упомянули об этом. Пожалуйста, добавьте это в свой вопрос. Лучше всего было бы иметь короткий фрагмент кода, который демонстрирует некоторые примеры ваших входных данных, преобразование регулярных выражений, ожидаемый результат и фактический результат. – Sven

0
$s = "https://lh3.googleusercontent.com/-5EoWQXUJMiA/VZ86O7eskeI/AAAAAAADHGs/ej6F-va__Ig/s1600/i2Fun.com-helpful-dogs-015.gif"; 
$path = parse_url($s); 

echo 'http://3.bp.blogspot.com' . $path['path']; 

UPDATE может не получить Вас все части в URL, но только взять нужную деталь

echo 'http://3.bp.blogspot.com' . parse_url($s, PHP_URL_PATH); 
+0

Какая причина для голосования? – splash58