-1

我这里的大部分代码都是从目录中随机获取一篇文章,然后带进来,通过spintax传递,然后输出到另一个文件,但是不行。

<?PHP
   class Spintax {
      public function process( $text ) {
        return preg_replace_callback(
           '/\{(((?>[^\{\}]+)|(?R))*)\}/x',
           array($this, 'replace'),
           $text
        );
      }

      public function replace( $text ) {
        $text = $this->process( $text[1] );
        $parts = explode('|', $text );
        return $parts[ array_rand( $parts ) ];
      }
   }
?>

<?PHP
   ob_start();
   $files = glob("spintax_articles/*.txt");
   $spintax = new Spintax();
   $string = 'THIS NEEDS TO BE THE RANDOM ARTICLE CONTENT FROM $FILES';
   echo $spintax->process( $string );
   $page = ob_get_contents();
   ob_end_flush();
   $fp = fopen("./article_output.txt", "w");
   fwrite( $fp, $page );
   fclose( $fp );
?>

我在哪里有这个“这需要来自 $FILES 的随机文章内容”,我不知道该放什么才能真正引入文章的内容。它应该是文本文件的全部内容,因此可以通过 spintax 然后保存出来。我需要什么才能正确执行此功能?

4

1 回答 1

3
$string = file_get_contents($files[rand(1, count($files)) -1]);

为什么你echo的结果$spintax->process($string)只是把它抢回来了ob_get_contents()?您可以简单地将其与另一个变量相关联,或将其直接放在fwrite().

于 2013-10-10T00:43:34.960 回答