Как обрезать строку PHP

Сегодня мы рассмотрим способы обрезать строку, если известна позиция символа до или после которого нужно обрезать строку или не не известна, рассмотрим популярные функции для этого на PHP.

Если известна позиция символа

Есть несколько способов обрезать строку до определенного символа, чаще всего используют функцию substr() или mb_substr() для многобайтовых наборов символов.

mb_substr()

echo mb_substr('Тестовая строка', 0, 8);

в результате мы получим часть строки - 'Тестовая'.

Как вы уже догадались, функция 2 и 3 аргументом принимает начало и конец строки.

Если позиция символа не известна

Допустим, нам нужно обрезать динамическую строку, в которой неизвестна позиция подстроки которую нужно обрезать, например есть строка - 'Тестовая строка которую нужно обрезать', давайте обрежем в ней все что до подстроки 'Нужно'.

mb_substr() + strpos()

$string = 'Тестовая строка которую нужно обрезать';

echo substr($string, strpos($string, 'нужно'));

в результате мы получим часть строки - 'нужно обрезать'. Тут мы нашли позицию подстроки при помощи другой функции strpos() и обрезали все что идет до нее.

Обзор популярных функций

Помимо mb_substr() есть еще ряд схожих функций, при помощи которых мы можем обрезать строку, давайте их и рассмотрим.

mb_strimwidth()

Бывают случаи, когда нам нужно не просто обрезать строку, но еще и добавить какой то текст в конец обрезанной строки, в этом нам поможет mb_strimwidth()

echo mb_strimwidth('Тестовая строка которую нужно обрезать', 0, 26, '...');

в результате мы получим часть строки с добавлением '...' - 'Тестовая строка которую...'.

explode()

Мы также можем строку преобразовать в массив по разделителю

$string = 'Тестовая строка которую нужно обрезать';
$substring = ' нужно обрезать';

echo explode($substring, $string)[0];

в результате мы получим часть строки - 'Тестовая строка которую'.

Заключение

И так, сегодня мы научились обрезать строки по разделителю и по позиции символа, как оказалось сделать это не так уж трудно.