$url = "http://example.com/images/XX/YY/filename.png";
$result = preg_replace(';(http://example.com/images/.*?/.*?/.*?)\.png;', '$1.jpg', $url);
echo $result;
Some regular expression explanation: https://regex101.com/r/2ZDzq0/1
Note I've replaced the usual /
delimiter with ;
because it's easier when working with URLs.