Нам потребуется для иллюстрации обрезки строки по символу какая-то произвольная строка с каким-то наполнением:
$string = "12345678910|10987654321";
Для примера, возьмем символ, который расположен примерно посередине -> |
, создаем такую запись:
$new_array = explode("|" , $string);
Если нам потребуется первая часть, то используем current
:
echo current($new_array);
// 12345678910
Если вам потребуется вторая часть, то используем end
. Здесь нужно дополнение - если символ 1, то end будет показывать второй элемент, если символ в строке повторяется несколько раз, то end покажет последнюю ячейку массива. В данном случае разделительный элемент строки в единственном числе, поэтому нам предстанет вторая часть:
echo end($new_array);
// 10987654321
$example = 'Это специальная строка с пробелами для обрезки по пробелу!';
После этого, применим к данной строке функцию explode и выведем с помощь print_r
:
print_r(explode(' ' , $example));
Получим массив:
Array
(
[0] => Это
[1] => специальная
[2] => строка
[3] => с
[4] => пробелами
[5] => для
[6] => обрезки
[7] => по
[8] => пробелу!
)
Давайте разберем несколько примеров обрезки строки про пробелу. Пусть это будет последний пробел строки!
$example = 'Это специальная строка с пробелами для обрезки по пробелу!';
Разбили её в массив и далее поместим её в переменную:
$arr = explode(' ' , $example);
Нам понадобится один из способов обрезки массива используем array_slice
.
$arr = array_slice ($arr , 0, -1);
Далее превратим массив обратно в строку implode:
$str = implode('' , $arr);
<?
$example = 'Это специальная строка с пробелами для обрезки по пробелу!';
$arr = explode(' ' , $example);
$arr = array_slice ($arr , 0, -1);
$str = implode('' , $arr);
echo $str;
?>
$example = 'Это специальная строка с пробелами для обрезки по пробелу!';
Опять нам потребуется функция explode с delimiter-ом = символ - пробел:
$arr = explode(' ' , $example);
Вам нужно знать теорию массивов... и чтобы обрезать по первому пробелу... нужно просто обратится к первой ячейке полученного массива:
$arr[0]
Либо обратиться с помощью current:
echo current[$arr];
<?
$example = 'Это специальная строка с пробелами для обрезки по пробелу!';
$arr = explode(' ' , $example);
echo current[$arr];
// Это
?>
$example = 'Это специальная строка с пробелами для обрезки по пробелу!';
Массив:
$arr_4 = $arr_3 = $arr_2 = $arr = explode(' ' , $example);
По второму пробелу:
$arr_2 = array_slice ($arr_2 , 0, -2);
$arr_2 = implode(' ' , $arr_2 );
// Это специальная строка с пробелами для обрезки
Цифру 0
убираем в array_slice
. Обрезать по второму пробелу с конца:
<?
$example = 'Это специальная строка с пробелами для обрезки по пробелу!';
$arr_4 = explode(' ' , $example);
$arr_4 = array_slice ($arr_4 , -2);
$str_4 = implode(' ' , $arr_4 );
echo $str_4 ;
?>
// по пробелу!
<?
$example = 'Это специальная строка с пробелами для обрезки по пробелу!';
$arr_5 = explode(' ' , $example);
$arr_5 = array_slice ($arr_5 , -3);
$str_5 = implode(' ' , $arr_5 );
echo $str_5 ;
?>
// обрезки по пробелу!
Прежде чем продолжать нам потребуются какие-то условия, например, нам нужно обрезать строку по 5 символу, здесь число не важно, и нам опять понадобится строка:
$string = "12345678910|10987654321";
Поскольку и дальше будем использовать это число для обрезки по символу, то присвоим это значение произвольной переменной:
$num_elem = 5;
Далее нам понадобится функция substr и вот такая конструкция:
$first = substr($string , 0, $num_elem);
echo $first;
// 12345
Как мы уже сказали выше, что если нам требуется обрезать строку сначала по символу и выкинуть эту часть, отставив строку с конца... если вы не обратили внимание на строку. то рекомендую сейчас на неё внимательность посмотреть и на первый результат тоже...
$string = "12345678910|10987654321";
echo substr($string , 5);
// 678910|10987654321
Теперь предположим. что нам требуется обрезать строку по символу с конца и показать левую часть, выкинув обрезанную часть:
echo substr($string , 0, - 5);
// 12345678910|109876
Опять обрезаем строку справа, и эту часть обрезанной строки и покажем. Обрезать строку по символу № 5 с конца строки - показать правую часть:
echo substr($string , - 5);
// 54321