Этот вопрос уже имеет ответ здесь:
Я пытаюсь заменить несколько пробелов одиночным пробелом. Когда я использую ereg_replace
, Я получаю ошибку об этом удержавший от использования.
ereg_replace("[ \t\n\r]+", " ", $string);
Есть ли идентичная замена для него. Я должен заменить несколько " "
пробелы и несколько nbsp
пробелы с единственным пробелом.
Используйте preg_replace()
и вместо [ \t\n\r]
используйте \s
:
$output = preg_replace('!\s+!', ' ', $input);
Из Справочник по синтаксису регулярных выражений:
\d, \w и \s
Классы сокращенных символов, соответствующие цифры, символы слов (буквы, цифры и знаки подчеркивания), и пробельные символы (пробелы, табуляции и разрывы строк). пробелы, табуляции и разрывы строк). Могут использоваться внутри и вне классов символов.