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

21

Від автора: вітаю вас, друзі. У цій статті ми поговоримо про символ пробілу в PHP. Ми дізнаємося, якими способами можна описати прогалину в шаблоні регулярного виразу, а в якості практики складемо регулярний вираз, який буде шукати зайві прогалини і видаляти їх. Почнемо?

Отже, як же вказати прогалину в шаблоні регулярного виразу? Все просто. У регулярному виразі пробіл позначає сам себе. Тобто ми можемо натиснути ту саму довгасту клавішу SPACE на клавіатурі і шаблон регулярного виразу відшукає всі пробіли в рядку.

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

У складних шаблонів не завжди зручно використовувати пробільний символ, оскільки він важко помітний і на практиці часто замість пробілів використовують метасимвол \s. Однак тут варто пам’ятати, що цей метасимвол збігається не тільки з пробілом, але і з іншими нецензурними символами (символи табуляції, перекладу рядка, рядок).

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

Як бачимо, у наведеному вище прикладі, крім пробілів, є ще і символ табуляції, який був також знайдений. Тепер, коли ми можемо знайти пробіл, то можемо і замінити його. Наприклад, перед нами класична задача в PHP — замінити в URL прогалини символами тире.

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

У використовуваному нами для тестування сервісі regexr.com є інструмент Replace, який дозволяє замінити знайдені символи. Як бачимо, все вийшло.

Іншою можливою завданням на практиці може бути видалення зайвих пробілів. Наприклад, текст, що випадково вкралися два і більше прогалин, що йдуть підряд. Відповідно, зайві пробіли потрібно видалити. Цю задачу вирішити досить просто. Ось один з варіантів:

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

Як видно, шаблон шукає один і більше пробільних символів і замінює їх одним пропуском. Не забувайте, що метасимвол \s збігається не тільки з пропуском. Саме тому для рішення поточної задачі я використав саме символ пробілу, щоб не замінити пробілом, скажімо, табуляцію.

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