Просмотр поста

.
Jahak

ДоХтор, на твой пост (07.09.2016 / 23:10) отвечу,

Отрефакторил: (+/-)
<?php

/**
 * @param string $string
 * @return array
 */
function duplicates(string $string): array
{
    preg_match_all('~\d+|[^\d\s,?\.]+~u', mb_strtolower($string, 'UTF-8'), $words);
    return array_filter(
        array_count_values($words[0]),
        function ($numberWords) {
            if ($numberWords >= 2) {
                return $numberWords;
            }
        }
    );
}

/**
 * @param array $array
 * @return string
 */
function renderTable(array $array): string
{
    $output = '<table><tr><th>Значения</th><th>Повторы</th></tr>';
    foreach ($array as $word => $quantity) {
        $output .= sprintf('<tr><td>%s</td><td>%s</td></td>', $word, $quantity);
    }
    $output .= '</table>';
    return $output;
}

//example
$string = 'text Text TEXT qwerty';
echo renderTable(duplicates($string));