2012-12-13 75 views
-1

我不擅長正則表達式,我需要一些幫助。正則表達式替換php中的鏈接

我這下面的鏈接鏈接:

http://www.mydomain.com/1/1/5/1/some-name-123-115194_7_9.jpg

應該是正則表達式什麼用php得到象下面這樣:

http://www.mydomain.com/1/1/5/1/115194_7_9.jpg

這就是我所擁有的Ë試過到目前爲止:

preg_match_all('/(\d+)(\w+)/', $str,$matches); 
+0

[?你嘗試過什麼(http://www.whathaveyoutried.com/)查看請[FAQ](http://stackoverflow.com/faq)。 –

+0

你有什麼嘗試?在這裏,[使用這個在線正則表達式測試我剛剛通過谷歌搜索](http://regexpal.com/) – kojiro

+0

我試過這個。 preg_match_all('/(\ d +)(\ w +)/',$ str,$ matches); –

回答

1

使用preg_replace

$url = "http://www.mydomain.com/1/1/5/1/some-name-123-115194_7_9.jpg"; 

echo preg_replace('#(.+/).+-(.+)#','$1$2',$url) 

>>> http://www.mydomain.com/1/1/5/1/115194_7_9.jpg 

Rexplanation:

(.+/) # Match everything upto the last/and capture 
.+-  # Match upto the last - 
(.+) # Match and capture everything else 
     # Replace with 
$1$2 # The first and second capture groups 
+0

但它應該是http://www.mydomain.com/1/1/5/1/115194_7_9.jpg。 –

+0

我的不好,看到編輯:) –

+1

謝謝你,我的朋友:) –