首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >随机文章从目录中显示在我的HTML或PHP页面。我已经知道如何在HTML静态页面上做到这一点,但不是随机的

随机文章从目录中显示在我的HTML或PHP页面。我已经知道如何在HTML静态页面上做到这一点,但不是随机的
EN

Stack Overflow用户
提问于 2015-06-08 13:24:14
回答 1查看 184关注 0票数 0

我正在尝试从一个目录中随机提取文章,然后旋转和显示。这是Spintax文章的示例:

{猫|狗|猴子|鱼|蜥蜴}{下湖|吃老鼠|跳进水里}

该目录将有多个文本文件。我敢肯定我就快成功了!

代码语言:javascript
复制
<?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);
    }
?>
EN

回答 1

Stack Overflow用户

发布于 2015-06-09 14:49:47

我在20分钟后修复了这个问题。我在上面发布了一个没有工作的脚本。

$f = file_get_contents( $string,"r");$string不属于,我有点累了。

代码语言:javascript
复制
  <?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);
                      }
                  ?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30701742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档