Как удалить подстроку из строки с помощью PHP?

Учитывая следующую строку

http://img.ruphp.com/string/simons-cat-and-frog-100x100.jpg 

Я хотел бы использовать substr или trim (или что вам больше подходит), чтобы вернуть это

 http://img.ruphp.com/string/simons-cat-and-frog.jpg 

то есть удалить -100x100 . Все изображения, которые мне нужны, будут помечены в конце имени файла непосредственно перед расширением.

Кажется, что ответы на это на SO re Ruby и Python, но не на PHP /, специфичные для моих потребностей.

Как удалить левую часть строки?

Удалите n символов из начала строки.

Удалить подстроку из строки

Какие-либо предложения?

Если вы хотите соответствовать любым значениям ширины / высоты:

  $path = "http://img.ruphp.com/string/simons-cat-and-frog-100x100.jpg"; // http://img.ruphp.com/string/simons-cat-and-frog.jpg echo preg_replace( "/-\d+x\d+/", "", $path ); 

Демо: http://codepad.org/cnKum1kd

Используемый шаблон довольно простой:

  / Обозначает начало рисунка
 - Литерал - персонаж
 \ d + цифра, 1 или более раз
 x Литеральный символ x
 \ d + цифра, 1 или более раз
 / Обозначает конец рисунка 
 $url = "http://img.ruphp.com/string/simons-cat-and-frog-100x100.jpg"; $new_url = str_replace("-100x100","",$url); 
 $url = str_replace("-100x100.jpg", '.jpg', $url); 

Используйте -100x100.jpg для пуленепробиваемого решения.

Если -100x100 – это единственные символы, которые вы пытаетесь удалить из всех ваших строк, почему бы не использовать str_replace ?

 $url = "http://img.ruphp.com/string/simons-cat-and-frog-100x100.jpg"; str_replace("-100x100", "", $url);