>>', '|', '=', '<', '>', '?', '%', '!', '\\', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ], ' ', $str); //echo $str; } // Разделяем сроку { $words = explode(' ', $str); unset($str); } // Считаем количество каждого слова { //echo '

Quantity words: '.count($words).'

'; $words0 = []; for($i = 0, $k = count($words); $i < $k; $i++){ if(isset($words0[$words[$i]])){ $words0[$words[$i]]++; }else{ $words0[$words[$i]] = 1; } } unset($words); //print_r($words0); } // Удаляем лишние слова { $words_del = ['', 'x', 's', 'a', 'c', 'b', 't', 'v', 'l', 'w', 'u', 'i', 'py', 'f', 'e', 'o', 'n', 'd', 'p', 'y', 'm', 'g', 'r', 'h', 'j', '\n', 'z', 'k', 'www', 'll', 'an', 'bpo']; for($i = 0, $k = count($words_del); $i < $k; $i++){ unset($words0[$words_del[$i]]); } unset($words_del); } // Сортируем по популярности { // Подготавливаем массив для сортировки $words0_k = array_keys($words0); $words1 = []; for($i = 0, $k = count($words0_k); $i < $k; $i++){ array_push($words1, [$words0[$words0_k[$i]], $words0_k[$i]]); } unset($words0, $words0_k); // Сортировка php usort($words1, function($a, $b){ return $b[0] - $a[0]; }); //print_r($words1); } // Переводчик { function gtranslate($str, $lang_from, $lang_to) { $query_data = array( 'client' => 'x', 'q' => $str, 'sl' => $lang_from, 'tl' => $lang_to ); $filename = 'http://translate.google.ru/translate_a/t'; $options = array( 'http' => array( 'user_agent' => 'Mozilla/5.0 (Windows NT 6.0; rv:26.0) Gecko/20100101 Firefox/26.0', 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => http_build_query($query_data) ) ); $context = stream_context_create($options); $response = file_get_contents($filename, false, $context); return json_decode($response); } // База, которую учить проще $translate_bd = [ 'the' => 'то', 'or' => 'или', 'and' => 'и', 'of' => 'от', 'as' => 'как', 'with' => 'с' ]; } // Формирование вывода { // Что будет на стр $rt = '

English words of
python-3.9.5-docs-text.
Page '.$page_number.'

'. //'

Quantity words: '.count($words1).'

'. ''; if($page_translate){ $rt .= ''; } $rt .= ''; $skip = $page_number * $page_quantity; for($i = 0, $k = count($words1); $i < $k; $i++){ // Идём до стр if($skip !== 0){ $skip--; continue; } // Просмотрели всё на стр if($page_quantity === 0) break; $page_quantity--; $rt .= ''. ''. ''. ''; if($page_translate){ $rt .= ''; } $rt .= ''; } $rt .= '
NQuantityWordTranslate
' .($i+1). '' .$words1[$i][0]. '' .$words1[$i][1]. ''; if(isset($translate_bd[$words1[$i][1]])){ $rt .= $translate_bd[$words1[$i][1]]; }else{ $rt .= gtranslate($words1[$i][1], 'en', 'ru'); } $rt .= '
'; // Переключатели страниц { $rt .= 'Back page'; $rt .= 'Next page'; $rt .= 'Translate'; } // Вывод { // Отдача в виде текста //header('Content-Type: text/plain'); echo $rt , ''; } }