Advertisement
dzimmo

task4

May 21st, 2018
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.45 KB | None | 0 0
  1. <?php
  2. // Пишем текст в переменную $lorem который должен по умолчанию отображаться в textarea:
  3. $lorem = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Modi natus doloribus debitis,
  4. est officiis possimus alias repudiandae quis temporibus quos voluptates cupiditate quo praesentium
  5. culpa provident id quam, ipsam nesciunt minus saepe sunt assumenda eveniet eum. Minus consectetur
  6. labore obcaecati et dignissimos alias hic natus? Nihil laudantium error velit, quas voluptatem
  7. perspiciatis ratione nesciunt laboriosam veritatis voluptate, nisi officia voluptas maiores
  8. optio voluptatibus laborum nam reiciendis similique natus, culpa totam. Sunt eveniet, cumque
  9. nihil quas esse modi quibusdam necessitatibus unde sint vel, officia deserunt voluptatibus, at?
  10. Aliquid ab, numquam! Eaque autem repellat accusamus amet praesentium eum enim incidunt atque
  11. corporis.";
  12.  
  13. //Создаем функцию которая принимает текст(строку) и формирует вывод на экран таблицы с частотами слов
  14. function resultTable ($textName) {
  15. //создадим массив(список) символов от которых нужно избавиться в тексте
  16. $delSymbols = ["." , "," , "!" , "?" , ";", " \" ", "<", ">" , "(" , ")" , "-", "'", ];
  17. $wordsArray = explode(" ", str_replace($delSymbols,"",trim($textName)));
  18.  
  19. //Затем создаем массив ["слово" => "частота повторения"] функцией  array_count_values()
  20. $freqArray = array_count_values ( $wordsArray );
  21.  
  22. // и отсортируем его в порядке убывания значений (частот) спец функцией arsort();
  23. arsort ($freqArray);
  24.  
  25. //В цикле для каждой пары "ключ" => "значение" создаем html разметку для отображения
  26. $i = 1;
  27. foreach ($freqArray as $key => $value) {
  28.     echo
  29.      "<tr>
  30.      <th scope='row'> $i </th>
  31.      <td>  $key </td>
  32.      <td> $value </td>
  33.    </tr> ";
  34.     $i++;
  35. }
  36. }
  37. //Объявляем переменную которая будет выводить текст в textarea
  38. if(isset($_POST[ExampleOfText])){
  39.             $text = $_POST[ExampleOfText];
  40.             } else {
  41.             $text = $lorem;
  42.             }
  43.  
  44. ?>
  45.     <!DOCTYPE html>
  46.     <html lang="en">
  47.  
  48.     <head>
  49.         <meta charset="UTF-8">
  50.         <meta name="viewport" content="width=device-width, initial-scale=1.0">
  51.         <meta http-equiv="X-UA-Compatible" content="ie=edge">
  52.         <title>Document</title>
  53.         <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">
  54.     </head>
  55.  
  56.     <body>
  57.         <div class="container">
  58.             <form method="post">
  59.                 <input type="hidden" name="ExampleOfText" value="<?=$_POST[ExampleOfText] ?>" />
  60.                 <textarea style="min-height: 300px; min-width: 220px;" class="mt-3" name="ExampleOfText" value="<?= $_POST[ExampleOfText]; ?>">
  61. <?=$text?>
  62.                 </textarea><br>
  63.  
  64.                 <input type="submit" value="Submit" />
  65.             </form>
  66.             <table class="table table-hover">
  67.                 <thead>
  68.                     <tr>
  69.                         <th>#</th>
  70.                         <th>Слово</th>
  71.                         <th>Частота</th>
  72.                     </tr>
  73.                 </thead>
  74.                 <tbody>
  75.                     <?php resultTable ($_POST[ExampleOfText]); ?>
  76.                 </tbody>
  77.             </table>
  78.         </div>
  79.     </body>
  80.  
  81.     </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement