Top.Mail.Ru
Ответы

Php как подсчитать количество слов в строке

привет есть код:

Количество слов в строке = " ,$b ;
?>

чем заменить ф-ю str_word_count чтобы посчитать количество слов в строке.
можно конечно считать пробелы, но как это сделать и как удалить множественные пробелы?
обрабатываю строку: Съешь ещё этих мягких французских булок, да выпей чаю.

Дополнен


Количество слов в строке = " ,$b ;
?>

Дополнен

$a=$_GET['a'];
echo $a;
$b=str_word_count($a);
echo "Количество слов в строке = " ,$b ;

Дополнен

Собственно ответ!! !
$a= "Съешь ещё этих мягких французских булок, да выпей чаю. ";

$a = preg_replace('/ {2,}/',' ',$a); //удаляем из исходной строки лишние пробелы

echo "Текст без пробелов: ".$a;

$b=split(" ",$a); //считаем количество пробелов

echo "Количество слов в строке = " ,sizeof($b) ; //без комментариев

Дополнен

Всем спасибо, все свободны=))))))))

По дате
По рейтингу
Аватар пользователя
Новичок
11лет

Молодец, ты сам смог найти правильный ответ)) )
вот улучшение -
$a = $_GET['a'];
$a = preg_replace('/ {2,}/',' ',$a); //удаляю лишние пробелы в тексте
$a = ltrim($a," "); //удаляю пробел в начале строки
$a = rtrim($a," "); //удаляю пробел в конце строки
echo "Текст без пробелов: a = $a";
$a = split(" ",$a); //считаю количество слов разделенных пробелами
echo "Количество слов в строке = " ,sizeof($a) ;

Аватар пользователя
Искусственный Интеллект
11лет

sizeof(preg_split('/\s+/', $your_string))

Аватар пользователя
Искусственный Интеллект
11лет

Разбей на подзадачи:
3 фунции
первая главная, она же вызывает вторую, которая ищет пробелы больше 1 подряд
третья функция обрабатывает результат второй и считает кол-во одинарных пробелов
ну и третья -контейнер вовзращает что надо
пример:

function getWordsCount($s){
$s=$this->remMspaces($s);
return $this->getSpacesCount($s);
}

Источник: Code-Byte ru