Nicki
Новичок
Не работает регулярное выражение вычистки строки от коротких слов
Что то не пойму почему не работает регулярка. Мне нужно убрать все слова короче 3 символов заменив их пробелом.
$str = " a aa a aaa a a a aaaa a aaaaa a ";
$str = preg_replace("/\s+\S{1,3}\s+/", ' ', $str);
Выводит " aa aaa a aaaa aaaaa ", т.е. убирает не все слова, а только часть. В чем моя ошибка, подскажите пожалуйста?
Пробовал так же и следующие варианты:
preg_replace("/\s+[\S]{1,3}\s+/", ' ', $str);
preg_replace("/\s+([\S]{1,3})\s+/", ' ', $str);
результат один и тот же.
Что то не пойму почему не работает регулярка. Мне нужно убрать все слова короче 3 символов заменив их пробелом.
$str = " a aa a aaa a a a aaaa a aaaaa a ";
$str = preg_replace("/\s+\S{1,3}\s+/", ' ', $str);
Выводит " aa aaa a aaaa aaaaa ", т.е. убирает не все слова, а только часть. В чем моя ошибка, подскажите пожалуйста?
Пробовал так же и следующие варианты:
preg_replace("/\s+[\S]{1,3}\s+/", ' ', $str);
preg_replace("/\s+([\S]{1,3})\s+/", ' ', $str);
результат один и тот же.