首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从文本文件生成包含内容的静态HTML页面

从文本文件生成包含内容的静态HTML页面
EN

Stack Overflow用户
提问于 2016-03-07 12:10:35
回答 2查看 255关注 0票数 1

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

代码语言:javascript
复制
<!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页面。

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

我正在考虑类似于yattag的python,但我确信有一个更简单的解决方案。可能是php?任何帮助都非常感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-07 13:02:40

代码语言:javascript
复制
<?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逐行爆出笑话文件,并将其转换为数组。

我们得到一个随机的笑话数,数组从0开始做-1。

我们用这个数字随机得到一个笑话,然后打印出来。

票数 0
EN

Stack Overflow用户

发布于 2016-03-07 12:31:56

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

在你的例子中,输入可以是笑话,比如笑话标题。

您实际上不需要服务器端代码来执行此任务。因此,您可以使用js模板作为手柄、underscorejs胡子,还有许多其他方法:

http://handlebarsjs.com/

https://mustache.github.io/

祝好运!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35843410

复制
相关文章

相似问题

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