Как я могу удалить / удалить все пробелы из строки в PHP?
У меня есть строка типа $string = "this is my string";
Результат должен быть "thisismystring"
Как я могу это сделать?
Как я могу удалить / удалить все пробелы из строки в PHP?
У меня есть строка типа $string = "this is my string";
Результат должен быть "thisismystring"
Как я могу это сделать?
Вы имеете в виду просто пробелы или все пробелы?
Для пробелов используйте str_replace:
$string = str_replace(' ', '', $string);
Для всех пробелов (включая табуляции и концы строк) используйте preg_replace:
$string = preg_replace('/\s+/', '', $string);
(Из здесь).
+
. $string = preg_replace('/\s/', '', $string);
должно работать нормально. Единственное, с чем у меня это не работает, - это неразрывные пробелы. Мне пришлось использовать это: $string = preg_replace('~\x{00a0}~','',$string);
, чтобы удалить их. Благодаря этому ответу stackoverflow: stackoverflow.com/a/12838189/631764
- person Buttle Butkus; 19.07.2013
space
и whitespace
? Разве это не то же самое?
- person Avatar; 12.09.2013
символов
- person Jack; 01.12.2016
- это HTML-строка, которую нужно удалить самостоятельно. Пробельные символы - это HT (9), LF (10), FF (12), CR (13) и пробел (32). Однако, если происходит сопоставление для конкретной локали, символы с кодовыми точками в диапазоне 128–255 также могут рассматриваться как символы пробела, например, NBSP (A0).
- person stamster; 20.01.2017
\s+
, когда возможно появление нескольких пробелов. Таким образом, выполняется больше и меньше совпадений с меньшим количеством общих замен, что в конечном итоге приводит к тому же результату.
- person mickmackusa; 03.05.2021
Если вы хотите удалить все пробелы:
$str = preg_replace('/\s+/', '', $str);
См. 5-й пример в документации preg_replace. (Обратите внимание, что я изначально скопировал это здесь.)
Изменить: комментаторы указали и правы, что str_replace
лучше, чем preg_replace
, если вы действительно просто хотите удалить символ пробела. Причина использования preg_replace
- удалить все пробелы (включая табуляции и т. Д.).
str_replace
] вместо ereg_replace()
или preg_replace()
.«
- person Joey; 21.01.2010
Если вы знаете, что пустое пространство возникает только из-за пробелов, вы можете использовать:
$string = str_replace(' ','',$string);
Но если это могло быть из-за пробела, табуляции ... вы можете использовать:
$string = preg_replace('/\s+/','',$string);
Таким образом, str_replace сделает свое дело
$new_str = str_replace(' ', '', $old_str);
strtr($string,[' '=>'']);
- person haz   schedule 08.12.2017trim
функции: php.net/trim - person Tim Visée   schedule 29.05.2019