Удаление лишних пробелов в строке с помощью php

Удаление лишних пробелов в строке с помощью php

Небольшая заметка об очередном использовании регулярных выражений. Поскольку регулярки сложно запомнить, я стараюсь все, с которым сталкиваюсь, сохранять и оформлять в статьи на блоге. Надеюсь, что такие короткие заметки полезны не только мне, но и помогут какому-нибудь скитальцу по интернету, в поисках нужной регулярки – в данном случае, это регулярное выражение для удаления лишних пробелов из строки.

Регулярка для удаления лишних пробелов в строке

Ниже приведен пример использования регулярки для удаления дублей пробелов между словами. Помимо избавления от лишних пробелов, в приведенном примере, также удаляются табы и переносы строк. То есть на выходе получим правильную строку, состоящую из слов, которые будут разделены между собой только одним пробелом.

// тестовая строка
$test_str = "Тестовая	строка     с 	лишними пробелами		и табами";
// вырезаем все лишнии пробелы и табы
// на их место вставляем один пробел
$result = preg_replace("/\s+/", " ", $test_str);
// вывод результата
var_dump($result);

Послесловие

На блоге появилась новая категория статей, где используются регулярные выражения. Теперь найти нужную регулярку будет проще.

Рассказать друзьям:


Оценить:
(2 оценок, среднее: 5,00 из 5)

Удаление лишних пробелов в строке с помощью php: 4 комментария

  1. Когда отправляешь с вложением в логах пишет:
    PHP Notice: Undefined variable: multipart in SendMailSmtpClass.php on line 152
    Вложение и письмо отправляется нормально.

  2. С какого бодуна было взято, что эта регулярка убирает табы и переводы строк?

    1. Действительно, табы не вырезались. Спасибо, что обратили внимание.
      Исправил код в статье. Регулярка должна быть такая:

      $result = preg_replace("/\s+/", " ", $test_str);

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

code