Массив ввода и другой вывод после использования PorterStemmer в php

Я использую PorterStemmer для определения слов так же, как "работает", это будет "работа" после вызова класса PorterStemmer, и это сработало для меня.

Но я хочу ограничить предложение, например, если я добавлю это предложение в мой код:

До

"Я играю в футбол и много работаю, потому что у меня достаточно силы"

После

"Я играю в футбол и много работаю, потому что у меня достаточно сил"

Кажется, у меня есть проблема с использованием цикла "foreach" в php, потому что мой код основывается только на одном слове.

Мой код:

$str=('I am playing football and working hard because I have powerful enough');
$parts = explode(' ', $str);

$word_to_stem = $str;
$stem = PorterStemmer::Stem($word_to_stem);

Теперь $parts включил мое предложение в виде массива, как я могу обрезать каждое слово и после этого поместить новое предложение в новую переменную с именем $str2

1 ответ

Решение

Итак, если вы хотите остановить каждое слово:

$str=('I am playing football and working hard because I have powerful enough');
$parts = explode(' ', $str);
$stemmed_parts = array();

foreach ($parts as $word) {
    $stemmed_word = PorterStemmer::Stem($word);
    $stemmed_parts[] = $stemmed_word;
}

echo implode(' ', $stemmed_parts);
Другие вопросы по тегам