正则表达式替换PHP中的链接

时间:2012-12-13 16:44:34

标签: php regex expression

我不擅长使用正则表达式,我需要一些帮助。

我在下面有一个链接链接:

  

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); 

1 个答案:

答案 0 :(得分: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