0

ディレクトリからランダムに記事を抽出し、スピンして表示しようとしています。これは Spintax の記事用です 例:

{猫|犬|猿|魚|トカゲ} {湖に行った|ネズミを食べた|水に飛び込んだ}

ディレクトリには複数のテキスト ファイルがあります。私はほとんどそれを持っていると確信しています!

<?php
    function spin($s){
        preg_match('#\{(.+?)\}#is', $s, $m);
        if (empty($m)) 
            return $s;

        $t = $m[1];

        if (strpos($t, '{') !== false) 
        { 
            $t = substr($t, strrpos($t,'{') + 1);
        }

        $parts = explode("|", $t);
        $s = preg_replace("+\{".preg_quote($t)."\}+is",                    
        $parts[array_rand($parts)], $s, 1);

        return spin($s);
    }

    $articles = glob("test/*.txt");
    $file = array_rand($articles);
    $string = file_get_contents($articles[$file]);  
    $f = file_get_contents($string, "r");
    while ($line = fgets($f, 1000)) {
       echo spin($line);
    }
?>
4

1 に答える 1

0

20分後にこれを修正しました。上記の何も機能しないスクリプトを投稿しました。

$f = file_get_contents($string, "r"); $string は属していませんでした。少し疲れていました。

  <?php


  function spin($s){
  preg_match('#\{(.+?)\}#is',$s,$m);
  if(empty($m)) return $s;

  $t = $m[1];

  if(strpos($t,'{')!==false){
   $t = substr($t, strrpos($t,'{') + 1);
     }

     $parts = explode("|", $t);
     $s = preg_replace("+\{".preg_quote($t)."\}+is",                    
      $parts[array_rand($parts)], $s, 1);

              return spin($s);
                  }





                $articles = glob("test/*.txt");
                $files = array_rand($articles);
                 $f = fopen($articles[$files], "r");
                  while ( $line = fgets($f, 1000) ) {
                    echo spin($line);
                      }
                  ?>
于 2015-06-09T06:49:47.057 に答える