В PHP удалить последний символ проще простого!

В PHP удалить последний символ проще простого!

От автора: вот вчера говорю челу, чтоб за мной не занимал. А он все равно в наглую «прет»! Вот бы удалить этого «нахала». Но, к сожалению, эту жизнь программируем не мы. А вот в PHP удалить последний символ проще простого!

Если знаем, что мешает

Если знаете, какой знак мешает, тогда можно использовать функцию rtrim(). В «классической» реализации ее применяют для удаления различных «бяк» наподобие пробелов, знаков табуляции, новой строки и т.п.

Но многие забывают о втором необязательном параметре, после указания которого эта функция способна обрезать конкретные знаки. Пример:

<?php
$text="Мир не может существовать без PHP?";
echo $text."<br />";
$txt1=rtrim($text,'?');
echo $txt1;
?>

В PHP удалить последний символ проще простого!

Мы избавились в строке от знака вопроса. И правильно, потому что мир не может существовать без PHP. По крайней мере, виртуальный :) .

Фреймворк YII2. Быстрая разработка с современным PHP фреймворком

Узнай тонкости современной веб-разработки с помощью фреймворка YII2

Узнать подробнее

И опять возвращаемся к нашим «любимым» регулярным. Да, пора бы с ними распрощаться, а они каждый раз «вылезают». Наверное, потому что востребованы. Вот и в этом примере придется вспомнить о них:

<?php
$text="Мир не может существовать без PHP?";
echo $text."<br />";
$txt1=preg_replace('/\?$/', '', $text);
echo $txt1;
?>

В PHP удалить последний символ проще простого!

Для обрезки крайнего ненужного знака в конце используется паттерн регулярного выражения, который передается функции preg_replace().

Если не знаем, что мешает

В предыдущих примерах мы знали, от чего нужно избавиться. Но часто нужно «оторвать» то, что «болтается» :) . То есть, любой символ, которым заканчивается текст. Достаточно всего лишь немного изменить предыдущую регулярку. Вот как это можно реализовать:

<?php
$text="Мир не может существовать без PHP$";
echo $text."<br />";
$txt1=preg_replace('/.$/', '', $text);
echo $txt1;
?>

В PHP удалить последний символ проще простого!

В шаблоне вместо восклицательного знака я поставил точку, которая расценивается здесь как метасимвол, обозначающий любой знак.

Какой-то «регулярно-функциональный» материал получается. Но это все потому, что в PHP много различных функций для работы со строковыми значениями. А регулярки – они и в Африке regular expressions.

Вот сейчас еще одна строковая функция поможет нам обрезать «болталку». На сей раз применим substr(), которая возвращает подстроку с заданного символа и длины:

<?php
$text="Мир не может существовать без PHP$";
echo $text."<br />";
$txt1=substr($text, 0, -1);
echo $txt1;
?>

В PHP удалить последний символ проще простого!

Наверное, мне порой проще разобраться в программном коде, чем в реалиях своего «жития-бытия». Но я все-таки надеюсь когда-нибудь взломать скрипт своей судьбы и стать ее полноправным «хозяином». Чего и вам желаю!

Фреймворк YII2. Быстрая разработка с современным PHP фреймворком

Узнай тонкости современной веб-разработки с помощью фреймворка YII2

Узнать подробнее
Самые свежие новости IT и веб-разработки на нашем Telegram-канале

Хотите изучить регулярные выражения на PHP?

Прямо сейчас посмотрите 12-ти часовой курс по регулярным выражениям на PHP!

Смотреть курс

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Комментарии (1)

  1. Виктор

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree