【问题标题】:PHP variables in HTMLHTML 中的 PHP 变量
【发布时间】:2011-07-28 17:17:16
【问题描述】:

很抱歉再次出现同样的问题,我在 phpbb 中看到有 html 格式的模板,它们也有 html 标签,但在它们之间有 php 数组变量和值,在主索引文件中,它们只是声明了变量和最后包含了模板,瞧!索引页面显示没有任何错误现在我想要创建一个变量或数组并将这些名称添加到 html 文件中,如下所示:

index.php:

$var1 = "text";

include "file.html";

文件.html:

this is {var1}

并且输出应该是“这是文本”。 谁能告诉我该怎么做?

编辑:我不想要像 echo 这样的 php 代码,而只是 {},我得到的输出是“这是 {var1}”。

【问题讨论】:

  • 你得到的输出是什么?

标签: php html arrays variables include


【解决方案1】:

我使用这样的东西:

$content = file_get_contents($content_file);
                $pattern ='/<\$([a-zA-Z]+[a-zA-Z0-9_]*)>/';
                preg_match_all($pattern, $content, $matches);

                foreach($matches[1] as $match){
                    if(isset($$match)){
                        $content = preg_replace ('/<\$'.$match.'>/', $$match , $content, 1);
                    }

这将让你使用像这样的变量&lt;$varname&gt;

如果你想使用 {varname} 语法,只需重写模式。对于 $content_file,请务必包含文件的路径。

编辑:哎呀...必须修复我的小于/大于符号...

【讨论】:

    【解决方案2】:

    你不能只包含文件,你必须将文件读入变量并将 {var} 替换为 $var。 如果您已经有一系列可用的替换 - 使用 str_replace 完成工作。 但这是不好的做法,请改用短标签或回显。

    【讨论】:

      【解决方案3】:

      您不需要模板。

      this is &lt;?php echo $var1?&gt;

      或者如果启用了短标签

      this is &lt;?=$var1?&gt;

      【讨论】:

        【解决方案4】:

        那是因为它使用 html 文件作为模板。然后我解析并用实际数据替换变量。

        【讨论】:

        • 我该怎么做?您可以指定任何内容,以便我可以用谷歌搜索出来吗??
        猜你喜欢
        • 2017-03-01
        • 2013-09-08
        • 2018-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多