Небольшая заметка об очередном использовании регулярных выражений. Поскольку регулярки сложно запомнить, я стараюсь все, с которым сталкиваюсь, сохранять и оформлять в статьи на блоге. Надеюсь, что такие короткие заметки полезны не только мне, но и помогут какому-нибудь скитальцу по интернету, в поисках нужной регулярки – в данном случае, это регулярное выражение для удаления лишних пробелов из строки.
Регулярка для удаления лишних пробелов в строке
Ниже приведен пример использования регулярки для удаления дублей пробелов между словами. Помимо избавления от лишних пробелов, в приведенном примере, также удаляются табы и переносы строк. То есть на выходе получим правильную строку, состоящую из слов, которые будут разделены между собой только одним пробелом.
// тестовая строка $test_str = "Тестовая строка с лишними пробелами и табами"; // вырезаем все лишнии пробелы и табы // на их место вставляем один пробел $result = preg_replace("/\s+/", " ", $test_str); // вывод результата var_dump($result);
Послесловие
На блоге появилась новая категория статей, где используются регулярные выражения. Теперь найти нужную регулярку будет проще.
Когда отправляешь с вложением в логах пишет:
PHP Notice: Undefined variable: multipart in SendMailSmtpClass.php on line 152
Вложение и письмо отправляется нормально.
Приветствую! Это комментарий, видимо, к статье про отправку писем по smtp.
Я подправил класс, скачать можно на github: https://github.com/Ipatov/SendMailSmtpClass
С какого бодуна было взято, что эта регулярка убирает табы и переводы строк?
Действительно, табы не вырезались. Спасибо, что обратили внимание.
Исправил код в статье. Регулярка должна быть такая:
$result = preg_replace("/\s+/", " ", $test_str);