Как использовать str_word-count () с utf-8, чтобы он печатал специальные символы [duplicate]

Если это кому-то поможет. У меня была аналогичная проблема. Моя доктрина / инфлектор ожидала php> = 7 по какой-то причине (вот что было в композиторе.json из доктрины / инфлектора). И это несмотря на то, что я выполнил инструкции по установке laravel 5.4.

Я запустил rm -f Composer.lock и rm -R -f vendor, а затем выполнил composer install после vagrant ssh к домашней виртуальной машине, которая использовала php 5.6.8 (изначально я запустил композитор с моего терминала MacBook, который использовал php 7)

Это позволило устранить проблемы.

12
задан trante 11 February 2014 в 21:58
поделиться

2 ответа

У вас никогда не будет префиксного решения словесного подсчета, потому что концепция словария не существует или слишком сложна на некоторых языках. UTF8 или нет, не имеет значения.

Японский и китайский языки не являются языком пространственного токенизма. У них даже нет статического списка слов, вам нужно прочитать все предложение, прежде чем найти глагол и существительное.

Если вы хотите поддерживать несколько языков, вам понадобится конкретный движок токенизатора. Вы можете исследовать полнотекстовый индекс, токенизатор, CJK-токенизатор, CJK-анализатор для получения дополнительной информации.

Если вы хотите поддерживать только ограниченный язык, просто улучшите ваши регулярные выражения все чаще и чаще.

7
ответ дан Dennis C 23 August 2018 в 20:26
поделиться

Я думаю, что вы на правильном пути с explode, но это не обрабатывает регулярное выражение.

Измените свой код на:

$namePattern = '/[\s,:?!]+/u';
$wordsArray = preg_split($namePattern, $text, -1, PREG_SPLIT_NO_EMPTY);
$wordsArray2 = array_count_values($wordsArray);
arsort($wordsArray2);
print_r($wordsArray2);

Of Конечно, вам может понадобиться настроить регулярное выражение ($regexPattern) для удовлетворения ваших потребностей.

Fiddle: http://ideone.com/JoIJqv

1
ответ дан klugerama 23 August 2018 в 20:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: