PHP preg_替换URL模式

PHP preg_替换URL模式,php,regex,preg-replace,str-replace,Php,Regex,Preg Replace,Str Replace,我有以下URL结构: http://website.com/images/folder1/folder2/123456/x500x1000_2x_ImageName.jpg 我需要从图像名称中删除裁剪分辨率“x500x1000_2x_”,如下所示: http://website.com/uploads/folder1/folder2/123456/ImageName.jpg 我尝试了很多东西: $img = preg_replace('/\[x](\d+)[x](\d+)[_2x_]\.*/

我有以下URL结构:

http://website.com/images/folder1/folder2/123456/x500x1000_2x_ImageName.jpg
我需要从图像名称中删除裁剪分辨率“x500x1000_2x_”,如下所示:

http://website.com/uploads/folder1/folder2/123456/ImageName.jpg
我尝试了很多东西:

$img = preg_replace('/\[x](\d+)[x](\d+)[_2x_]\.*/', '', $img);
$img = preg_replace('/[x]\d[x]\d[_2x_]\.*/', '', $img);
$img = preg_replace('/\/\[x]+\d+[x]+\d+\D+\d\.*/', '', $img);

我对preg\u replace真的不太在行,有人能帮我吗?

这应该适合你:

(在这里,我只是将url的
x\d+x\d+\ud+x\uz
替换为。最后,我只是将url再次与连接在一起)

正则表达式解释:

x\d+x\d+_\d+x_
  • x逐字匹配字符x(区分大小写)
  • \d+匹配数字[0-9]
    • 量词:+在一次和无限次之间,尽可能多次,根据需要回馈[贪婪]
  • x逐字匹配字符x(区分大小写)
  • \d+匹配数字[0-9]
    • 量词:+在一次和无限次之间,尽可能多次,根据需要回馈[贪婪]
  • \u逐字匹配字符
  • \d+匹配数字[0-9]
    • 量词:+在一次和无限次之间,尽可能多次,根据需要回馈[贪婪]
  • x_逐字匹配字符x_(区分大小写)

我正要写到,如果名称包含下划线,但您已经更改了下划线,则会出现问题。:-)+谢谢你!很好!(实际上一定是其他人编辑的,不是我):-)
http://website.com/images/folder1/folder2/123456/ImageName.jpg
x\d+x\d+_\d+x_