Позволяет получить в теста список всех слов по одному разу, исключив повторы. Также может быть полезна для подсчета слов во введенном тексте.
Наберите или скопируйте текст для анализа:<?php
// Эта функция выделяет из текста в $text все уникальные слова и
// возвращает их список. В необязательный параметр $nOrigWords
// помещается исходное число слов в тексте, которое было до
// "фильтрации" дубликатов.
function getUniques($text, &$nOrigWords=false) {
// Сначала получаем все слова в тексте.
$words = preg_split("/([^[:alnum:]]|['-])+/s", $text);
$nOrigWords = count($words);
// Затем приводим слова к нижнему регистру.
$words = array_map("strtolower", $words);
// Получаем уникальные значения.
$words = array_unique($words);
return $words;
}
// Пример применения функции.
setlocale(LC_ALL, '');
$fname = "largetextfile.txt";
$text = file_get_contents($fname);
$uniq = getUniques($text, $nOrig);
echo "Было слов: $nOrig<br>";
echo "Стало слов: ".count($uniq)."<hr>";
echo join(" ", $uniq);
?>Скопировать в буфер
© Copyright 2008-2012 by KDG