От автора: вот вчера говорю челу, чтоб за мной не занимал. А он все равно в наглую «прет»! Вот бы удалить этого «нахала». Но, к сожалению, эту жизнь программируем не мы. А вот в PHP удалить последний символ проще простого!
Если знаем, что мешает
Если знаете, какой знак мешает, тогда можно использовать функцию rtrim(). В «классической» реализации ее применяют для удаления различных «бяк» наподобие пробелов, знаков табуляции, новой строки и т.п.
Но многие забывают о втором необязательном параметре, после указания которого эта функция способна обрезать конкретные знаки. Пример:
1 2 3 4 5 6 |
<?php $text="Мир не может существовать без PHP?"; echo $text."<br />"; $txt1=rtrim($text,'?'); echo $txt1; ?> |
Мы избавились в строке от знака вопроса. И правильно, потому что мир не может существовать без PHP. По крайней мере, виртуальный :).
И опять возвращаемся к нашим «любимым» регулярным. Да, пора бы с ними распрощаться, а они каждый раз «вылезают». Наверное, потому что востребованы. Вот и в этом примере придется вспомнить о них:
1 2 3 4 5 6 |
<?php $text="Мир не может существовать без PHP?"; echo $text."<br />"; $txt1=preg_replace('/\?$/', '', $text); echo $txt1; ?> |
Для обрезки крайнего ненужного знака в конце используется паттерн регулярного выражения, который передается функции preg_replace().
Если не знаем, что мешает
В предыдущих примерах мы знали, от чего нужно избавиться. Но часто нужно «оторвать» то, что «болтается» :). То есть, любой символ, которым заканчивается текст. Достаточно всего лишь немного изменить предыдущую регулярку. Вот как это можно реализовать:
1 2 3 4 5 6 |
<?php $text="Мир не может существовать без PHP$"; echo $text."<br />"; $txt1=preg_replace('/.$/', '', $text); echo $txt1; ?> |
В шаблоне вместо восклицательного знака я поставил точку, которая расценивается здесь как метасимвол, обозначающий любой знак.
Какой-то «регулярно-функциональный» материал получается. Но это все потому, что в PHP много различных функций для работы со строковыми значениями. А регулярки – они и в Африке regular expressions.
Вот сейчас еще одна строковая функция поможет нам обрезать «болталку». На сей раз применим substr(), которая возвращает подстроку с заданного символа и длины:
1 2 3 4 5 6 |
<?php $text="Мир не может существовать без PHP$"; echo $text."<br />"; $txt1=substr($text, 0, -1); echo $txt1; ?> |
Наверное, мне порой проще разобраться в программном коде, чем в реалиях своего «жития-бытия». Но я все-таки надеюсь когда-нибудь взломать скрипт своей судьбы и стать ее полноправным «хозяином». Чего и вам желаю!
Комментарии (1)