preg_replace()无法按预期工作

时间:2015-07-18 18:04:11

标签: php regex string 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);

2 个答案:

答案 0 :(得分:1)

这是一个简单的字符串替换。

搜索"https://lh3.googleusercontent.com/"。替换为"http://3.bp.blogspot.com/"

str_replace()会这样做。我错过了什么吗?

答案 1 :(得分: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'];

更新您无法接收网址的所有部分,但只接受所需的部分

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