使用文本文件中的内容生成静态HTML页面

时间:2016-03-07 12:10:35

标签: javascript php jquery html

我正在玩一个随机的笑话生成器,它会加载一个随机的html页面 一些蹩脚的玩笑。现在,索引页面如下所示:

<!DOCTYPE html>
<html>
   <head><title>Jokes</title>
      <link rel="stylesheet" type="text/css" href="styles.css">
      <script>
         function runme() {
            var arr = ["joke1.html", "joke2.html", "joke3.html"];
            var value = arr[Math.floor(Math.random() * arr.length)];
            window.location = value;
         }
       </script>
    </head>
    <body>
       <h1>JOKES</h1>
       <div class="jokebtn">
          <input id="nyjoke" type="button" onclick="runme()" value="Make me laugh!" />
       </div>

    </body>
</html>

当您按下按钮时,它会将您重定向到javascript数组中定义的随机html页面。

我的问题是,如何从文本文档中生成包含笑话的HTML页面(只有<p>带有一些文本)?我希望能够将笑话添加到文本文件中,然后从中生成HTML页面,而不是在<p>中为我要添加的每个页面复制/粘贴。此外,页面应该是静态的(即joke2.html总是有相同的笑话),所以你保存链接/笑话以供日后使用。

我正在考虑像yattag这样的python,但我确信这是一个更简单的解决方案。也许php?任何帮助非常感谢!

2 个答案:

答案 0 :(得分:0)

我建议您使用模板系统,该系统会根据模板代码的参数输入呈现html页面。 此输入可能包含任何类型的字符串或整数,因此您的html代码会显示您发送的输入。

在您的情况下,输入可以是笑话,例如笑话标题。

您不需要此任务的服务器端代码。所以你可以使用js模板作为把手 underscorejs 小胡子,还有很多其他方法:

InitializingBean

http://handlebarsjs.com/

祝你好运!

答案 1 :(得分:0)

<?php
    $jokes_file = getcwd() . "/jokes.txt";
    $jokes = preg_split('/\r\n|\n|\r/', trim(file_get_contents($jokes_file)));

    $joke_num = rand(0, count($jokes)-1);
    $joke = $jokes[$joke_num];

    print $joke;
?>

getcwd()=获取当前工作目录(对于绝对文件路径)

preg_split通过换行符爆炸jokes文件并将其转换为数组。

我们得到一个随机的笑话号码,并且当数组从0开始时为-1。

我们使用所述号码得到一个随机笑话,然后将其打印出来。