Вырезать пробельные символы

IliaK

Новичок
Вырезать пробельные символы

Есть кусок текста c большим количеством ненужных пробелов, табов, переносов строк.
Нужно вырезать из него все пробельные символы (табуляция и т.д.) и символы "возврат каретки", встречающиеся два и более раза подряд. В общем, привести к нормальному виду.

Пробовал делать так:
PHP:
preg_replace('~(\s{2,})~', '', $text);
Однако ничего не меняется.

Как выполнить поставленную задачу?
 

WP

^_^
PHP:
$text = preg_replace('~\s{2,)~', '', $text);
рэп вэчен дэвушка )))
 

baev

‹°°¬•
Команда форума
WP, и что Вы написали?

PHP:
$text = preg_replace('~\s{2,}~', ' ', $text);
(Заменяем не на пустую строку, а на одиночный пробел.)
 

WP

^_^
baev
Написал не я, а тредстарер. Видимо человек просто не присвоил никуда результат выполнения preg_replace. Думаю с пробелом он бы сообразил)
 

baev

‹°°¬•
Команда форума
WP, Вы на скобки в своём коде гляньте.

Clubber, я свой код проверял. В том числе — и с символами табуляции и с символами перевода строк.
Чего я упустил?
 

Clubber

Новичок
baev
На самом деле, мне кажется, что тредстартер сам не совсем знает, чего хочет. Руководствуясь же здравым смыслом, лучше обрабатывать табуляции и пробелы отдельно от переводов строк. Для пробелов и табов в твоем примере все хорошо. А вот с переводами строк хуже:
PHP:
$text = "asd\r\nasd";
print preg_replace('~\s{2,}~', ' ', $text); // "asd asd"
Тем более, для переводов строк я бы использовал такую логику, какую выдвигал тредстартер в той теме. Хотя я и не могу знать наверняка, что нужно нашему нынешнему "клиенту" :)
 
Сверху