在PHP中替换字符串中相似但不同的部分


replace similar but different parts of a string in PHP?

所以我获取一个字符串(通常是图像位置)。理想情况下,我希望它始终是

http://www.mydomain.com/images/cool-nifty-image.png

然而,有时情况并非总是如此。有时是

http://www.mydomain.com/images/cool-lame-image-300x300.png

300x300与尺寸相关。在上面的例子中,我需要位于的图像

http://www.mydomain.com/images/cool-lame-image.png

(是的,它总是存在的。)

如果总是三位数的话,这会很容易。然而,有时它也可以是

    http://www.mydomain.com/images/cool-lame-image-300x99.png

    http://www.mydomain.com/images/cool-lame-image-99x99.png

有没有办法找到"-#x#",这样我就可以找到-100x99和875x200?

此任务需要一个正则表达式

$img = preg_replace('/-'d+x'd+('.png)$/', ''1', $img);