Обновление: Вот еще один более короткий путь (и этот, безусловно, новый;)):
function reduce($v, $p) {
return strlen($v) > strlen($p) ? $v : $p;
}
echo array_reduce(str_word_count($string, 1), 'reduce'); // prints Elephant
Аналогично уже опубликованному, но с использованием str_word_count
для извлечения слов (путем разделения на пробелы также будут учитываться знаки препинания):
$string = "Where did the big Elephant go?";
$words = str_word_count($string, 1);
function cmp($a, $b) {
return strlen($b) - strlen($a);
}
usort($words, 'cmp');
print_r(array_shift($words)); // prints Elephant