От автора: с чем у вас ассоциируется пробел? Пробел может быть в знаниях, в памяти. Но еще бывает пробел во внимании, когда жена разбивает машину мужа из-за собственной косметички, по которой обязательно нужно рыскать, управляя автомобилем. Вот такие у меня ассоциации с этим словом. Но сегодня речь пойдет не о правилах движения по дорогам. Мы рассмотрим сразу несколько взаимосвязанных между собой понятий: регулярные выражения PHP пробел.
О пустоте
Ну, а как иначе назвать пробел? Так вот, в PHP это «свободное пространство» считается строковым символом, и его значение даже можно присвоить переменной. Пример «на пример» :):
1 2 3 4 5 6 |
<?php echo "11". "<br />"; $peremen = " "; $peremen2 = " "; echo "1".$peremen.$peremen2."1"; ?> |
В предыдущем примере пробел в PHP присваивается сразу двум переменным ($peremen и $peremen2). Для доказательства существования пробелов мы присоединяем их к значениям из цифр. В результате расстояние между единицами стало больше.
Но пустота – это не всегда правильно. Например, пробелы в конце или в начале строки могут вызвать изъяны при выводе текста на экран.
Обрезаем пустоту
В PHP для удаления пробелов в строке реализовано несколько специальных функций. Рассмотрим применения каждой из них на примерах.
1 2 3 4 |
<?php $text=" String PHP "; echo trim($text); ?> |
Функция trim() «обрезает» пробелы в начале и в конце строки, переданной ей в качестве аргумента. А что, если нужно удалить только определенные пробелы? Создатели языка позаботились и об этом:
ltrim () – позволяет с помощью PHP убрать пробелы в начале строке.
rtrim () – удалять пробелы в конце строки.
Я не буду приводить пример использования этих функций, поскольку их синтаксис идентичен предыдущей.
Регулярки, сэр!
Вы думали, мы уже навсегда распрощались с регулярными выражениями? Ну, как такое возможно! Без них никуда, особенно, если дело касается пробелов в PHP коде. Вот пример, как с их помощью вырезать из строки все пробелы и заменить их запятыми.
1 2 3 4 5 |
<?php $text = " текст text текст text text"; $str = preg_replace("/[\ ]/",",", $text); echo $str; ?> |
А вот альтернативный способ удаления пробелов в PHP. Для этого задействуется функция str_replace(), которая заменяет вхождение искомой подстроки на указанную.
1 2 3 4 5 |
<?php $txt = " текст text текст text text 123d7"; $str=str_replace(' ','',$txt); echo $str; ?> |
Еще немного о пробелах
Но иногда «пустого пространства» мало в строке, и возникает потребность добавить его. Разберемся, как сделать пробел в PHP. Для этого используют конкатенацию строк (объединение) и знак неразрывного пробела .
1 2 3 4 5 |
<?php $txt1 = "текст text текст text"; $txt2 = "текст text текст text"; echo $txt1.' '.$txt2; ?> |
Теперь мы знаем, как поставить пробел в PHP коде. При этом стоит учитывать, что добавление пустого пространства, взятого в кавычки (‘ ‘), к строке ничего не даст. Так что описанный выше вариант самый безотказный.
Для остальных манипуляций с «пустым пространством» придется задействовать регулярные выражения. В том числе и для PHP замены пробелов в URL. Но об этом мы поговорим в следующий раз.