2013-02-13 60 views
2

刪除分辨率字符串我有以下圖片網址:在默認情況下它的分辨率600x417.png即包含從圖像的URL在PHP

http://www.example.org/wp-content/blogs.dir/29/files/2013/02/Personalized-Results-Asterisk-600x417.png 

這裏的URL。我想從此圖片網址中移除此分辨率。

圖像URL的最終輸出應該是這樣的:

http://www.example.org/wp-content/blogs.dir/29/files/2013/02/Personalized-Results-Asterisk.png 

我怎樣才能做到這一點?

+0

編輯的文件名:^(.*?)-\d+x\d+\.([^/]+)$

替換爲?不確定你想要做什麼的目的,所以我不知道嘗試和回答的方向。 – Jon 2013-02-13 05:14:27

+0

@Jon:我只想從該圖片url中刪除該分辨率字符串,即(600x417),以便它將採用原始圖片分辨率而不是600x417。 – Sky 2013-02-13 05:16:05

+0

噢,好的,對於下面的答案,使用'/ \ - *(\ d +)x(\ d +)/''做一個'preg_replace'應該有訣竅^^ – Jon 2013-02-13 05:18:21

回答

5

試試這個:

$string = 'http://www.example.org/wp-content/blogs.dir/29/files/2013/02/Personalized-Results-Asterisk-600x417.png'; 
$pattern = '/\-*(\d+)x(\d+)\.(.*)$/'; 
$replacement = '.$3'; 
echo preg_replace($pattern, $replacement, $string); 
+0

這也會代替任何匹配模式的字符串穿過網址.. – Anirudha 2013-02-13 05:23:03

+0

@ Some1.Kill.The.DJ:是的。 – 2013-02-13 05:24:57

+0

@Prasanth:謝謝它爲我工作 – Sky 2013-02-13 05:25:08

0
$str=preg_replace("/^(.+)-\d+?x\d+?(\.\w+)$/i","$1$2",$str); 
0

的preg_replace

$correct_url = preg_replace('`\-[0-9]*x[0-9]*(\.[^\.]*)$`','$1',$url); 

有很多的方式。

+0

如果它在'[]'內,則不需要轉義'.' – Anirudha 2013-02-13 05:20:26

0

您可以嘗試

正則表達式:$1$2