Вы можете попробовать этот
// if your src has widthxheight are specified literally like that you may try
echo preg_replace("/\W{0,1}(width).*(height)/i","-300x300","http://www.mysite.com/myfolder/files/year/month/imagename-widthxheight.imageextension");
// if your src has widthxheight are specified in int val you may try
echo preg_replace("/\W{0,1}(\d{1,7}).*(\d{1,7})/i","-300x300","http://www.mysite.com/myfolder/files/year/month/imagename-123x456.imageextension");
фактическое значение -300x300 будет зависеть от фактической потребности. Поэтому я считаю, что лучше всего передать эти значения через переменные.
Эта часть "WIDTHxHEIGHT" не текст, а "старой" резолюции, как 123x456, верно? – djot
Да. он является переменным. пользователи загружают разные размеры фото. система производит 300x300 превью. изменение размеров и посевов. – marcieng