Я пытаюсь заменить несколько пробелов на одно пространство. Когда я использую ereg_replace
, я получаю сообщение об ошибке, поскольку он устарел.php Замена нескольких пробелов одним пробелом
ereg_replace("[ \t\n\r]+", " ", $string);
Есть ли для него идентичная замена. Мне нужно заменить несколько пробелов " "
и несколько пробелов nbsp
с одним пробелом.
@Cletus: Этот заменил бы одно пространство пространством. Разве вы не думаете, что что-то вроде: preg_replace ('/ (?: \ S \ s + | \ n | \ t) /', '', $ x) будет более * эффективным * особенно в тексте с несколькими одиночными пробелами? – codaddict
@codaddict: случайно, мгновение назад я сравнивал те по реальным данным, результат (для вызовов ~ 8300 различных текстовых статей): '/ (?: \ S \ s + | \ n | \ t) /' = > 1410 (самый медленный), '/ \ s + /' => 611 (ok'ish), '/ \ s \ s + /' => 496 (самый быстрый). Последний не заменяет одиночные '\ n' или' \ t', но это нормально для моего случая. – Frunsi
/\ s {2,}/u '- если у вас есть проблема с add/u для UTF-8 – user956584