<?php
//Топ 3 самых часто встречающихся слов и словосочетаний в тексте(из 2-3-х слов)
$stopWords = array ( 'и' , 'у' , 'к' , 'с' , 'о' , 'от' , 'в' , 'же' , 'из' , 'на' , '.' , ',' ) ; $input = 'Эта функция сортирует массив в обратном порядке таким образом, что
сохраняются отношения между ключами и значениями. Сохраняются отношения и
сохраняются отношения и еще сохраняются отношения и опять сохраняются отношения.' ;
//Удаляем лишнее и разбиваем текст на слова
$words = preg_split ( '/ /' , $input , 0 , PREG_SPLIT_NO_EMPTY
) ;
foreach ( $words as $key => $word ) {
//Прерываем цикл на последнем слове.
if ( $key == ( count ( $words ) - 1 ) ) { break ;
}
//Если текущее слово из списка стоп слов переходим к следуещему
continue ;
}
$nextKey = $key + 1 ;
//Если следующее слово из стоп слов переходим к следующему слову(по хорошему тут надо перескакивать через 1
//но я хз как)
continue ;
}
//Если же текущее и следующее слово в порядке составляем словосочетание из 2-х слов
$twoWords [ ] = $word . ' ' . $words [ $nextKey ] ;
//Так же проверяем предыдущее слово, если оно существует и не находится в стоп списке
//делаем словосочетание из 3-х слов
$prevKey = $key - 1 ;
if ( $prevKey < 0 ) {
continue ;
} elseif ( array_search ( $words [ $prevKey ] , $stopWords ) !== false ) { continue ;
}
$threeWords [ ] = $words [ $prevKey ] . ' ' . $word . ' ' . $words [ $nextKey ] ;
}
//Удаляем из массива со словами все что есть в стоп списке
foreach ( $words as $key => $word ) {
}
}
PD9waHAKLy/QotC+0L8gMyDRgdCw0LzRi9GFINGH0LDRgdGC0L4g0LLRgdGC0YDQtdGH0LDRjtGJ0LjRhdGB0Y8g0YHQu9C+0LIg0Lgg0YHQu9C+0LLQvtGB0L7Rh9C10YLQsNC90LjQuSDQsiDRgtC10LrRgdGC0LUo0LjQtyAyLTMt0YUg0YHQu9C+0LIpCm1iX2ludGVybmFsX2VuY29kaW5nKCdVdGYtOCcpOwoKJHN0b3BXb3JkcyA9IGFycmF5KCfQuCcsICfRgycsICfQuicsICfRgScsICfQvicsICfQvtGCJywgJ9CyJywgJ9C20LUnLCAn0LjQtycsICfQvdCwJywgJy4nLCAnLCcpOwokaW5wdXQgPSAn0K3RgtCwINGE0YPQvdC60YbQuNGPINGB0L7RgNGC0LjRgNGD0LXRgiDQvNCw0YHRgdC40LIg0LIg0L7QsdGA0LDRgtC90L7QvCDQv9C+0YDRj9C00LrQtSDRgtCw0LrQuNC8INC+0LHRgNCw0LfQvtC8LCDRh9GC0L4K0YHQvtGF0YDQsNC90Y/RjtGC0YHRjyDQvtGC0L3QvtGI0LXQvdC40Y8g0LzQtdC20LTRgyDQutC70Y7Rh9Cw0LzQuCDQuCDQt9C90LDRh9C10L3QuNGP0LzQuC4g0KHQvtGF0YDQsNC90Y/RjtGC0YHRjyDQvtGC0L3QvtGI0LXQvdC40Y8g0LgK0YHQvtGF0YDQsNC90Y/RjtGC0YHRjyDQvtGC0L3QvtGI0LXQvdC40Y8g0Lgg0LXRidC1INGB0L7RhdGA0LDQvdGP0Y7RgtGB0Y8g0L7RgtC90L7RiNC10L3QuNGPINC4INC+0L/Rj9GC0Ywg0YHQvtGF0YDQsNC90Y/RjtGC0YHRjyDQvtGC0L3QvtGI0LXQvdC40Y8uJzsKCi8v0KPQtNCw0LvRj9C10Lwg0LvQuNGI0L3QtdC1INC4INGA0LDQt9Cx0LjQstCw0LXQvCDRgtC10LrRgdGCINC90LAg0YHQu9C+0LLQsAokaW5wdXQgPSBtYl9zdHJ0b2xvd2VyKCRpbnB1dCk7CiRpbnB1dCA9IHByZWdfcmVwbGFjZSgnL1tcXHJcXG5dLycsICcgJywgJGlucHV0KTsKJGlucHV0ID0gcHJlZ19yZXBsYWNlKCcvWy4sXS8nLCAnICQwJywgJGlucHV0KTsKJHdvcmRzID0gcHJlZ19zcGxpdCgnLyAvJywgJGlucHV0LCAwLCBQUkVHX1NQTElUX05PX0VNUFRZKTsKCmZvcmVhY2ggKCR3b3JkcyBhcyAka2V5ID0+ICR3b3JkKSB7CiAgICAvL9Cf0YDQtdGA0YvQstCw0LXQvCDRhtC40LrQuyDQvdCwINC/0L7RgdC70LXQtNC90LXQvCDRgdC70L7QstC1LgogICAgaWYgKCRrZXkgPT0gKGNvdW50KCR3b3JkcykgLSAxKSkgewogICAgICAgIGJyZWFrOwogICAgfQogICAgLy/QldGB0LvQuCDRgtC10LrRg9GJ0LXQtSDRgdC70L7QstC+INC40Lcg0YHQv9C40YHQutCwINGB0YLQvtC/INGB0LvQvtCyINC/0LXRgNC10YXQvtC00LjQvCDQuiDRgdC70LXQtNGD0LXRidC10LzRgwogICAgaWYgKGFycmF5X3NlYXJjaCgkd29yZCwgJHN0b3BXb3JkcykgIT09IGZhbHNlKSB7CiAgICAgICAgY29udGludWU7CiAgICB9CiAgICAkbmV4dEtleSA9ICRrZXkgKyAxOwogICAgLy/QldGB0LvQuCDRgdC70LXQtNGD0Y7RidC10LUg0YHQu9C+0LLQviDQuNC3INGB0YLQvtC/INGB0LvQvtCyINC/0LXRgNC10YXQvtC00LjQvCDQuiDRgdC70LXQtNGD0Y7RidC10LzRgyDRgdC70L7QstGDKNC/0L4g0YXQvtGA0L7RiNC10LzRgyDRgtGD0YIg0L3QsNC00L4g0L/QtdGA0LXRgdC60LDQutC40LLQsNGC0Ywg0YfQtdGA0LXQtyAxCiAgICAvL9C90L4g0Y8g0YXQtyDQutCw0LopCiAgICBpZiAoYXJyYXlfc2VhcmNoKCR3b3Jkc1skbmV4dEtleV0sICRzdG9wV29yZHMpICE9PSBmYWxzZSkgewogICAgICAgIGNvbnRpbnVlOwogICAgfQogICAgLy/QldGB0LvQuCDQttC1INGC0LXQutGD0YnQtdC1INC4INGB0LvQtdC00YPRjtGJ0LXQtSDRgdC70L7QstC+INCyINC/0L7RgNGP0LTQutC1INGB0L7RgdGC0LDQstC70Y/QtdC8INGB0LvQvtCy0L7RgdC+0YfQtdGC0LDQvdC40LUg0LjQtyAyLdGFINGB0LvQvtCyCiAgICAkdHdvV29yZHNbXSA9ICR3b3JkIC4gJyAnIC4gJHdvcmRzWyRuZXh0S2V5XTsKICAgIC8v0KLQsNC6INC20LUg0L/RgNC+0LLQtdGA0Y/QtdC8INC/0YDQtdC00YvQtNGD0YnQtdC1INGB0LvQvtCy0L4sINC10YHQu9C4INC+0L3QviDRgdGD0YnQtdGB0YLQstGD0LXRgiDQuCDQvdC1INC90LDRhdC+0LTQuNGC0YHRjyDQsiDRgdGC0L7QvyDRgdC/0LjRgdC60LUKICAgIC8v0LTQtdC70LDQtdC8INGB0LvQvtCy0L7RgdC+0YfQtdGC0LDQvdC40LUg0LjQtyAzLdGFINGB0LvQvtCyCiAgICAkcHJldktleSA9ICRrZXkgLSAxOwogICAgaWYgKCRwcmV2S2V5IDwgMCkgewogICAgICAgIGNvbnRpbnVlOwogICAgfSBlbHNlaWYgKGFycmF5X3NlYXJjaCgkd29yZHNbJHByZXZLZXldLCAkc3RvcFdvcmRzKSAhPT0gZmFsc2UpIHsKICAgICAgICBjb250aW51ZTsKICAgIH0KICAgICR0aHJlZVdvcmRzW10gPSAkd29yZHNbJHByZXZLZXldIC4gJyAnIC4gJHdvcmQgLiAnICcgLiAkd29yZHNbJG5leHRLZXldOwp9CgovL9Cj0LTQsNC70Y/QtdC8INC40Lcg0LzQsNGB0YHQuNCy0LAg0YHQviDRgdC70L7QstCw0LzQuCDQstGB0LUg0YfRgtC+INC10YHRgtGMINCyINGB0YLQvtC/INGB0L/QuNGB0LrQtQpmb3JlYWNoICgkd29yZHMgYXMgJGtleSA9PiAkd29yZCkgewogICAgaWYgKGFycmF5X3NlYXJjaCgkd29yZCwgJHN0b3BXb3JkcykgIT09IGZhbHNlKSB7CiAgICAgICAgdW5zZXQoJHdvcmRzWyRrZXldKTsKICAgIH0KfQoKcHJpbnRfcigkd29yZHMpOwpwcmludF9yKCR0d29Xb3Jkcyk7CnByaW50X3IoJHRocmVlV29yZHMpOw==