Это очень часто выполняемая операция при работе с php.
Делается обрезка строки очень просто — есть функция substr
Она принимает три параметра, а именно:
string — исходная строка — строка которую будем резать
start — начальная позиция — позиция с которой будем резать строку
length — длина (необязательный параметр) — длина отрезаемого куска строки
Пользоваться ей очень просто, вот несколько примеров:
Обрезать строку на определенное (n) количество символов:
<?php $n = 5; $string = 'hello world!'; echo substr($string, 0, $n); //hello ?>
Тут все просто, указываем с какого символа хотим обрезать строку, указываем какая длина строки нам нужна, получаем вполне ожидаемый результат.
Обрезать строку на определенное (n) количество символов с конца:
<?php $n = -5; $string = 'hello world!'; echo substr($string, 0, $n); //hello w ?>
Данный пример интересен тем, что в параметр length мы передаем отрицательное значение, и в таком случае функция отсчитывает указанную величину с конца строки.
Получить определенное (n) количество символов с конца строки
<? $n = -5; $string = 'hello world!'; echo substr($string, $n); //orld! ?>
Здесь в параметр start мы передаем отрицательное значение, которое и позволяет нам сделать то, что нам нужно.
Обрезать строку до первого пробела
<?php $string = 'hello world!'; echo substr($string, 0, strpos($string, ' ' )); //hello ?>
Тут мы в параметр length передаем результат выполнения функции strpos, которая вычисляет позицию первого пробела. Строку можно бить конечно же не только по пробелу, а по любому другому символу.
Обрезать строку до последнего пробела
<?php $string = 'hello world, hello!'; echo substr($string, 0, strrpos($string, ' ' )); //hello world, ?>
Работает аналогично предыдущему примеру, но только в качестве параметра length передается результат отработки функции strrpos, которая находит последнее вхождение заданного символа, в нашем случае пробела.