Как из строк убрать пробелы на PHP? Удаление начальных и конечных пробелов(и других символов) из строки в PHP Php убрать все пробелы из строки.
Работая с текстом, часто приходится его форматировать. Это необходимо для корректного вывода на экран и легкой читаемости. Это нужно, если пользователь вписывает некоторую информацию и допускает ошибки: вместо одного пробела указывает два, в начале ставит табуляцию. Есть несколько способов убрать пробелы в PHP.
Trim()
Функция Trim ищет лишние знаки в начале строки или в конце. Это:
- обычный пробел;
- табуляция;
- символ переноса строки.
Записывается в таком виде:
String trim (string $str [, string $character_mask = " \t\n\r\0\x0B" ])
$str - это обрабатываемая строка, а $character_mask - лишние символы. $character_mask является необязательным атрибутом.
Preg_replace
Функция для поиска и замены символов по регулярному выражению.
Mixed preg_replace (mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]])
- $pattern - искомый шаблон.
- $replacement - символы для замены.
- $subject - обрабатываемый объект.
- $limit - количество производимых замен.
$pattern и $replacement могут быть массивами. В таком случае замена производится в соответствии с индексами.
Str_replace()
Убрать пробелы из строки в PHP можно методом str_replace(). Он заменяет все вхождения строки поиска на строку замены.
Mixed str_replace (mixed $search , mixed $replace , mixed $subject [, int &$count ])
Используется в качестве упрощенного метода preg_replace().
- $search - значение, которое необходимо найти.
- $replace - заменяемая строка.
- $subject - объект, в котором производится поиск и замена.
- $count устанавливает количество замен.
Пример поиска и замены пробелов
Эти функции применяются в большинстве ситуаций, даже в более сложных.
Например, пользователь ввел некоторые данные, которые позже будут напечатаны на экране. Для улучшения читабельности и восприятия текста в целом эту информацию нужно обработать - убрать повторяющиеся пробелы, заменить их на одинарные.
$text1 = "Длинный объемный текст с лишние пробелами";
В данном случае видно, что между словами находится по два и три пробела. Порядок действий, как убрать пробелы в PHP, следующий.
1. Для начала нужно превратить строку в массив строк с помощью функции.
Explode(“ ”, $text1)
В качестве разделителя используется один пробел. Таким образом, части тела, которые не являются отдельными элементами массива, будут содержать на один пробел меньше.
2. В результате получается такой массив строк:
$array = ["Длинный “, “объемный”, “текст”, “с “, “лишние пробелами"]
3. Каждый элемент обрабатывается функцией:
Preg_replace("/\s+/", " ", $text1)
Для поиска одного и большего количества пробелов используется регулярное выражение /\s+/. Все найденные совпадения заменяются строкой ‘ ‘. Поиск осуществляется в переменной $text1.
4. В результате получаем строку с правильным количеством пробелов, которая легко воспринимается пользователем.
Добрый вечер, недавно мы с Вами немного затрагивали тему паролей, и их безопасного хранения, а именно изучали функцию хеширования. Сегодня мы немного продолжим тему, связанную с паролями, и их хранением, и изучим функции, при помощи которых можно удалять пробелы из начала и конца строки . Причем здесь пароли и удаление пробелов из строки , скажите Вы? Во первых, данная функция, конечно же, не относится конкретно к паролям, а лишь работает со строками, а про пароли я сказал, лишь в качестве ее применения. Поэтому Вы можете ее использовать где угодно, и когда Вам угодно, исходя из вашей ситуации.
Для чего нужно обрезать пробелы в начале строки и в конце ? Если Вы указываете пароль на сайте при регистрации и каким-то образом случайно нажмете пробел и не заметите этого, то ваш пароль будет состоять, например не из четырех символов, а из пяти, включая ваш пробел. И вы не будете понимать, почему пароль не подходит, ведь хэш этой строки будет отличаться. Поэтому я всегда рекомендую обрезать пробелы в строке, для того чтобы не возникало таких нюансов. Теперь мы с Вами перейдем к рассмотрению примера на практике.
$string_pass = " 1234 "
;
$password = md5(trim($string_pass
))
;
$password2 = md5($string_pass
)
;
echo $password;
echo "
"
;
echo $password2;
?>
Создаем переменную, которая будет нашим паролем, и специально указываем по пробелу в начале и в конце строки. Далее создаем переменную, в которой уже будет храниться хешированный пароль, и пропускаем строку через функцию trim , которая сначала удалит все ненужные пробелы, и только потом мы получим хешированный пароль. А во второй переменной мы не используем функцию удаления пробелов и сразу хешируем строку. После чего мы выводим два результата на экран браузера и видим, что они полностью отличаются, хотя мы оба раза использовали одинаковую строку. Однако из-за пробелов результат полностью отличается, поэтому с этим делом нужно быть предельно внимательным. И последнее, что стоило бы Вам рассказать. Существуют еще две функции, которые удаляют пробелы в начале строки, или в конце строки, и называются они ltrim и rtrim соответственно. Поэтому если Вам необходимо удалить пробелы с какой-либо из сторон используйте их. А на этом я завершаю данную статью и желаю Вам успехов во всех ваших работах.
В любом языке при работе со строками является типичной задача удаления пробелов как в начале, так и в конце строки. В PHP для этих целей существует три функции: ltrim(), rtrim(), trim(). Функция ltrim() удаляет пропуски в начале строки, rtrim() - в конце строки, trim() - как в начале, так и в конце. Что интересно: эти функции, помимо пробелов, удаляют также управляющие последовательности перехода на новую строку, возврата каретки, табуляции и ноль-символа.
$example = " \tHi everybody\n";
var_dump(trim($example));
var_dump(rtrim($example));
var_dump(ltrim($example));
В результате мы получим:
String "Hi everybody" (length=12)
string " Hi everybody" (length=14)
string "Hi everybody
" (length=13)
Что самое интересное, вышеописанные функции также могут удалять символы, заданные пользователем. Для этого вышеописанным функциям нужно передать вторым аргументом строку, содержащую удаляемые символы. Например:
$example = " yHi everybody\n";
var_dump(trim($example, " y"));
var_dump(rtrim($example, " y\n"));
var_dump(ltrim($example, " yH"));
В результате:
String "Hi everybody " (length=13) string " yHi everybod" (length=13) string "i everybody " (length=12)
Популярное
- Новостной и аналитический портал "время электроники"
- Премиум шаблон Tempera. Супер тема wordpress. Вниманию пользователей Mantra, Nirvana, Parabola, Tempera: плагин Cryout Serious Theme Settings Случайные записи из рубрики
- Мощность: сколько ватт нужно АС
- Россию покроет «умная пыль Умная пыль нанотехнологии
- Обзор тарифов линейки «Просто супер» от МТС-Украина
- LG Spirit - Технические характеристики
- "Неполадки подключения или неверный код MMI "
- Обзор и тестирование смартфона Sony Xperia Z5 Compact
- Обзор умных часов Huawei Watch
- Война копипасту (copypast) — как защитить свой текст от копирования Стоит ли жаловаться на копипаст