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