在PHP中包含模板文件并替换变量

Ahm*_*eri 2 html php templates

我有一个.tpl文件,其中包含我的网页的HTML代码和.php文件,我想在其中使用HTML代码并替换一些变量.例如,假设这是我的file.tpl:

<html>
<head>
<title>{page_title}</title>
</head>
<body>
Welcome to {site_name}!
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我想定义{page_title}{site_name}在我的PHP文件,并显示它们.

我们能做到这一点的方法之一是加载页面的代码放在一个变量,然后更换{page_title}{site_name}再回应他们.

但我不知道这是最好的方法,因为我认为如果.tpl文件很大会有问题.

请帮我找到最好的方法.谢谢 :-)

Mih*_*rga 7

一种方法可以做到:

$replace = array('{page_title}', '{site_name}');
$with = array('Title', 'My Website');

ob_start();
include('my_template.tpl');
$ob = ob_get_clean();

echo str_replace($replace, $with, $ob);
Run Code Online (Sandbox Code Playgroud)

  • 这会产生与`file_get_contents`相同的结果,但很容易受到攻击,因为PHP使用`include`进行评估.user3105264,如果您不想使用模板系统,恕我直言,您应该使用file_get_contents. (5认同)