Регулярные выражения в PHP. Пробел

Регулярные выражения в PHP. Пробел

От автора: приветствую вас, друзья. В этой статье мы поговорим о символе пробела в PHP. Мы узнаем, какими способами можно описать пробел в шаблоне регулярного выражения, а в качестве практики составим регулярное выражение, которое будет искать лишние пробелы и удалять их. Начнем?

Итак, как же указать пробел в шаблоне регулярного выражения? Все просто. В регулярном выражении пробел обозначает сам себя. То есть мы можем нажать ту самую продолговатую клавишу SPACE на клавиатуре и шаблон регулярного выражения отыщет все пробелы в строке.

В сложных шаблонах не всегда удобно использовать пробельный символ, поскольку он трудно различим и на практике часто вместо пробела используют метасимвол \s. Однако здесь стоит помнить, что этот метасимвол совпадает не только с пробелом, но и с другими непечатными символами (символы табуляции, перевода строки, новой строки).

Как видим, в примере выше, кроме пробелов, есть еще и символ табуляции, который был также найден. Теперь, коль мы можем найти пробел, то можем и заменить его. Например, перед нами классическая задача в PHP — заменить в URL пробелы символами тире.

В используемом нами для тестирования сервисе regexr.com есть инструмент Replace, который позволяет заменить найденные символы. Как видим, все получилось.

Другой возможной задачей на практике может быть удаление лишних пробелов. Например, в текст случайно вкрались два и более пробелов, идущих подряд. Соответственно, лишние пробелы необходимо удалить. Эту задачу решить также достаточно просто. Вот один из вариантов:

Как видно, шаблон ищет один и более пробельных символов и заменяет их одним пробелом. Не забывайте, что метасимвол \s совпадает не только с пробелом. Именно поэтому для решения текущей задачи я использовал именно символ пробела, чтобы не заменить пробелом, скажем, табуляцию.

На этом мы будем завершать сегодняшнюю статью. Больше о регулярных выражениях вы можете узнать из нашего курса по регулярным выражениям. Удачи!

Метки:

Похожие статьи:

Комментарии Вконтакте: