trim
Можно также задать список символов для удаления с помощью необязательного аргумента characters . Просто перечислите все символы, которые вы хотите удалить. Можно указать конструкцию .. для обозначения диапазона символов.
Возвращаемые значения
Примеры
Пример #1 Пример использования trim()
$text = «\t\tThese are a few words 🙂 . » ;
$binary = «\x09Example string\x0A» ;
$hello = «Hello World» ;
var_dump ( $text , $binary , $hello );
$trimmed = trim ( $text );
var_dump ( $trimmed );
$trimmed = trim ( $text , » \t.» );
var_dump ( $trimmed );
$trimmed = trim ( $hello , «Hdle» );
var_dump ( $trimmed );
$trimmed = trim ( $hello , ‘HdWr’ );
var_dump ( $trimmed );
// удаляем управляющие ASCII-символы с начала и конца $binary
// (от 0 до 31 включительно)
$clean = trim ( $binary , «\x00..\x1F» );
var_dump ( $clean );
Результат выполнения данного примера:
string(32) " These are a few words :) . " string(16) " Example string " string(11) "Hello World" string(28) "These are a few words :) . " string(24) "These are a few words :)" string(5) "o Wor" string(9) "ello Worl" string(14) "Example string"
Пример #2 Обрезание значений массива с помощью trim()
$fruit = array( ‘apple’ , ‘banana ‘ , ‘ cranberry ‘ );
var_dump ( $fruit );
array_walk ( $fruit , ‘trim_value’ );
var_dump ( $fruit );
Результат выполнения данного примера:
array(3) < [0]=>string(5) "apple" [1]=> string(7) "banana " [2]=> string(11) " cranberry " > array(3) < [0]=>string(5) "apple" [1]=> string(6) "banana" [2]=> string(9) "cranberry" >
Примечания
Замечание: Возможные трюки: удаление символов из середины строки
Так как trim() удаляет символы с начала и конца строки string , то удаление (или не удаление) символов из середины строки может ввести в недоумение. trim(‘abc’, ‘bad’) удалит как ‘a’, так и ‘b’, потому что удаление ‘a’ сдвинет ‘b’ к началу строки, что также позволит её удалить. Вот почему это «работает», тогда как trim(‘abc’, ‘b’) очевидно нет.
Смотрите также
- ltrim() — Удаляет пробелы (или другие символы) из начала строки
- rtrim() — Удаляет пробелы (или другие символы) из конца строки
- str_replace() — Заменяет все вхождения строки поиска на строку замены
User Contributed Notes 2 notes
6 months ago
note there is a behaviour change in php 8
You used to be able to say:
$p1 = trim($_POST[‘p1’]);
This will now throw deprecated warnings if parameter p1 is not set. It is better to say:
$p1 = trim($_POST[‘p1’]??»);
or
$p1 = isset($_POST[‘p1’]) ? trim($_POST[‘p1’]) : null;
or
$p1 = isset($_POST[‘p1’]) ? trim($_POST[‘p1’]) : »;
4 months ago
Note that trim() is not aware of Unicode points that represent whitespace (e.g., in the General Punctuation block), except, of course, for the ones mentioned in this page.
There is no Unicode-specific trim function in PHP at the time of writing (July 2023), but you can try some examples of trims using multibyte strings posted on the comments for the mbstring extension: https://www.php.net/manual/en/ref.mbstring.php
- Copyright © 2001-2023 The PHP Group
- My PHP.net
- Contact
- Other PHP.net sites
- Privacy policy
Как удалить последний символ в строке на PHP
Решение задачи такого рода может пригодиться где угодно – например, вы сформировали строку, но вам необходимо удалить лишь 1 символ. Как это сделать?
PHP – проверить последний символ в строке и удалить
Удалим последний символ из строки:
$str = substr($str,0,-1);
Как удалить несколько символов?
$str = substr($str,0,-10); // удалить 10 последних символов
Как узнать самый последний символ в строке?
$lastsymbol = $str;
Используем проверку для удаления последнего символа (запятой)
if ($str == ‘,’)
Ну и напоследок небольшая шпаргалка, найденная в интернете
$str = substr("abcdef", 1); // возвращает "bcdef" $str = substr("abcdef", 1, 3); // возвращает "bcd" $str = substr("abcdef", 0, 4); // возвращает "abcd" $str = substr("abcdef", 0, 8); // возвращает "abcdef" // к отдельным символам можно обращаться с помощью фигурных скобок $string = 'abcdef'; echo $string; // выводит a echo $string; // выводит d $str = substr("abcdef", -1); // возвращает "f" $str = substr("abcdef", -2); // возвращает "ef" $str = substr("abcdef", -3, 1); // возвращает "d" $str = substr("abcdef", 0, -1); // возвращает "abcde" $str = substr("abcdef", 2, -1); // возвращает "cde" $str = substr("abcdef", 4, -4); // возвращает "" $str = substr("abcdef", -3, -1); // возвращает "de"
Надеюсь, данная статья была вам полезна .
php Удалить первый и последний символ в строке [и пробелы в начале и конце]
Чтобы удалить сначала проблемы а потом ещё что-то, используйте такую функцию:
/** * Удалит сначала пробелы, а потом иные символы с начала и конца строки * * удалить символ в начале и конце строки * * @param string $str строка * @param string $symbls какие символы удалить после порбелов * @return string */ public static function trimSpacesAnd($str, $symbls) < $str = trim($str); // удаляем пробельные символы $str = trim($str, $symbls); // удаляем указанные символы return $str; >
Key Words for FKN + antitotal forum (CS VSU):
Нужно ли много извилин, чтобы в PHP удалить первый символ?
Самое верное решение – это применение функции substr(). Она позволяет отрезать начальный символ. Для этого в значении ее аргументов нужно задать единицу:
$str = «* — этот символ нужно удалить!» ;
$str1 = substr ( $str , 1 ) ;
Существует еще одна функция, специализирующаяся на обрезке строки. Точнее, trim() убирает только некоторые символы: пробелы, перевода строки и табуляции. Смотрим ее в действии:
$str = «* — этот символ нужно удалить!» ;
$str1 = trim ( $str ) ;
Или на ее бездействие. Лишним раз проверяем, как работает функция.
Добавляем в начало текста пробел. И снова запускаем код. Хотя опять не видно результата работы trim(), но поверьте – она действует. Забыл уточнить, что функция удаляет символы и в начале, и в конце строки.
А еще можно применять ее для избавления от определенного знака. Для этого его нужно указать вторым (необязательным) аргументом. Вот так:
$str = «#этот символ нужно удалить!#» ;
$str1 = trim ( $str , ‘#’ ) ;
Но это не всегда то, что требуется. А что если нужно избавиться только от символа в начале, а не с обоих концов. Даже для этого случая в PHP есть специальная функция. По своему «подобию и образу» она практически идентична trim(). Но отрезает она только первый знак:
$str = «#этот символ нужно удалить!#» ;
$str1 = ltrim ( $str , ‘#’ ) ;
Также для решения данной проблемы можно применять регулярки. Но не советую этого делать, поскольку скрипт с их участием «кушает» больше мощностей сервера. Это ничего, если вы запускаете небольшой код. Но при увеличении объемов это может стать источником неприятностей. Так что лучше все-таки, чтобы мозги присутствовали, и их извилин хватило на то, чтобы в этой ситуации применять встроенные функции PHP.