Php 使用.html文件并使用变量

Php 使用.html文件并使用变量,php,html,variables,Php,Html,Variables,假设我有一个.html文件,其中包含一个web设计,并包含$time$comment$title等变量 如何从php文件中输入这些变量 对不起,我不能很好地解释它,但我希望有人能很好地理解。。我猜你想要什么。因为这个问题不是很清楚 在一个PHP脚本中,用类似file_get_contents的内容加载HTML,然后使用str_replace替换HTML中的“变量”,然后回显新的HTML 或者,不要使用HTML文件,使用PHP文件,只需在希望变量出现的地方使用echo即可 或者。。。使用smart

假设我有一个.html文件,其中包含一个web设计,并包含$time$comment$title等变量

如何从php文件中输入这些变量


对不起,我不能很好地解释它,但我希望有人能很好地理解。。我猜你想要什么。因为这个问题不是很清楚

在一个PHP脚本中,用类似file_get_contents的内容加载HTML,然后使用str_replace替换HTML中的“变量”,然后回显新的HTML

或者,不要使用HTML文件,使用PHP文件,只需在希望变量出现的地方使用echo即可

或者。。。使用smarty模板之类的东西,它可能比您想要的更高级

  • 学习

  • 学习一种你自己选择的方法

  • 将.html文件更改为.php

  • 把它和你的“观点”放在一起

  • 从控制器调用它(定义视图变量)


  • 通过将此指令添加到.htaccess(或httpd.conf)中,可以让apache将.html文件解析为PHP:

    可能需要更改httpd.conf中的此行:

    AddType application/x-httpd-php .htm .html 
    
    AllowOverride None
    
    致:

    这将对apache配置启用.htaccess覆盖

    这个答案假设了两件事:

    我明白这个问题


    2-事实上您正在使用Apache web服务器。

    我也希望我能正确理解您。如果您想到一个PHP模板系统,我推荐您,这使得将HTML与PHP分开非常容易

    为什么要使用Smarty(当PHP是一个模板引擎时)?

    有些人可能会说Smarty做了什么 PHP已经可以做到:将 来自业务逻辑的表示。这个 PHP编程语言非常适合于 代码开发,但与 HTML,PHP语句的语法可以 管理起来一团糟。Smarty化妆 为此,将PHP与 使用更简单的 基于标记的语法。标签显示 应用程序内容,强制执行干净的 与PHP分离(应用程序) 代码。不需要PHP知识就可以 管理Smarty模板


    这听起来更像是一个利用率问题。正如其他人所指出的,静态html文件只是返回静态文件。如果希望在访问这些文件时替换变量,请从
    .htaccess
    中定义类似的处理程序:

    RewriteRule (.+\.html) vars.php?file=$1
    
    和一个模板函数(
    vars.php
    )来处理这些占位符:

    <?php
        // define all placeholder variables here
        $html = file_get_contents(basename($_GET["file"]));
        print preg_replace('/\$(\w+)/e', '$GLOBALS["$1"]', $html);
    ?>
    

    很抱歉,你的问题很难理解。请编辑问题,添加更多细节,以便我们更好地理解。因此,您的问题更多:“如何使用普通HTML文件作为PHP模板?”?您是否认为模板系统中的$time被添加帖子的时间所取代。如果您无法解释,可能是因为您不完全理解您的问题。如果您不知道问题是什么,我们将很难解决它。使用过一个大型应用程序,以前使用Smarty,现在使用PHP本身作为模板语言,我可以说它现在更快,也更容易管理。Smarty是不必要的膨胀,应该不惜一切代价避免。强烈建议不要使用它。我以前在为我的几个客户和一些自己的项目使用php的几年时间里使用过Smarty。我对它很满意。使用echo短标记
    ,可能会更好,更易于维护,因为它会带来更少的可维护性问题。@yc:的确如此。我有一个小脚本,可以在smarty样式的变量之间来回重写,
    这个解决方案很麻烦,尽管它会不必要地错误地将HTML文件解析为PHP。如果服务器上安装了允许用户上载HTML文件的脚本,则可能会通过使用作为脚本运行的“HTML文件”进行攻击。
    
    <?php
        // define all placeholder variables here
        $html = file_get_contents(basename($_GET["file"]));
        print preg_replace('/\$(\w+)/e', '$GLOBALS["$1"]', $html);
    ?>
    
    <?php
      echo<<<END
        <html>$vars</html> ...
      END;
    ?>