Учитывая следующую строку
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);