php, Заменяющий несколько пробелов одиночным пробелом [дубликат]

Этот вопрос уже имеет ответ здесь:

Я пытаюсь заменить несколько пробелов одиночным пробелом. Когда я использую ereg_replace, Я получаю ошибку об этом удержавший от использования.

ereg_replace("[ \t\n\r]+", " ", $string);

Есть ли идентичная замена для него. Я должен заменить несколько " " пробелы и несколько nbsp пробелы с единственным пробелом.

183
задан Somnath Muluk 14 September 2016 в 22:07
поделиться

2 ответа

Используйте preg_replace() и вместо [ \t\n\r] используйте \s:

$output = preg_replace('!\s+!', ' ', $input);

Из Справочник по синтаксису регулярных выражений:

\d, \w и \s

Классы сокращенных символов, соответствующие цифры, символы слов (буквы, цифры и знаки подчеркивания), и пробельные символы (пробелы, табуляции и разрывы строк). пробелы, табуляции и разрывы строк). Могут использоваться внутри и вне классов символов.

387
ответ дан 23 November 2019 в 06:00
поделиться
preg_replace("/[[:blank:]]+/"," ",$input)
39
ответ дан 23 November 2019 в 06:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: