Advertisement
Guest User

Untitled

a guest
Sep 25th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.59 KB | None | 0 0
  1. <?php
  2.  
  3. $numPages = 20;                 // количество страниц для генерации
  4. $resultExtension = '.html';     // расширение файлов результата
  5. $tplFile = 'tpl.txt';           // файл шаблона
  6. $keywordsFile = 'keywords.txt'; // файл с ключевиками
  7. $descFile = 'descriptions.txt'; // файл с десками
  8. $resultFolder = 'out';          // папка с результатом
  9.  
  10. $numLinks = 10;                 // количество ссылок на другие страницы
  11.  
  12.  
  13.  
  14. $keywords = $keywordsForLinks = array_reverse(file($keywordsFile));
  15. shuffle($keywordsForLinks);
  16. $descs = array_reverse(file($descFile));
  17. $tpl = file_get_contents($tplFile);
  18.  
  19. // main loop
  20. for ($i = 0; $i < $numPages; $i++){
  21.  
  22.     $out = preg_replace_callback(
  23.         '~%%%(keyword|description|links)%%%~',
  24.        
  25.         function ($m) {
  26.             global $keywords, $descs, $numLinks, $keywordsForLinks;
  27.             if ($m[0] == '%%%keyword%%%'){
  28.                 $r = trim(array_pop($keywords));
  29.             }elseif($m[0] == '%%%description%%%'){
  30.                 $r = trim(array_pop($descs));
  31.             }elseif($m[0] == '%%%links%%%'){
  32.                 $r = '<ul>';
  33.                 for ($i = 0; $i < $numLinks; $i++){
  34.                     $r .= '<li><a href="/'.$i.$resultExtension.'">'.trim($keywordsForLinks[array_rand($keywordsForLinks)]).'</a></li>';
  35.                 }
  36.                 $r .= '</ul>';
  37.             }
  38.             return empty($r) ? $m[0] : $r;
  39.         },
  40.        
  41.         $tpl);
  42.  
  43.     if ($i == 0){
  44.         $resultFileName = $resultFolder.'/index'.$resultExtension;
  45.     }else{
  46.         $resultFileName = $resultFolder.'/'.$i.$resultExtension;
  47.     }
  48.     $fp = fopen($resultFileName, "w+t");
  49.     fwrite($fp, $out);
  50.     fclose($fp);
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement