我见过很多脚本,你会看到像这样的东西
<meta keyword="{keywords}" ...>
或
<input type="text" name="name" value="{name}">
这叫什么,我怎么能自己做。
感谢
答案 0 :(得分:5)
它被称为模板。
您需要模板引擎,或者您可以自己编写一个。 很久以前,有一个名为Smarty的流行模板引擎。今天,模板引擎是大多数框架的一部分。
以下是PHP的一些模板引擎列表: http://www.webresourcesdepot.com/19-promising-php-template-engines/
考虑到你有这样一个问题,你自己的模板引擎更容易出错,所以我建议选择一个免费提供的。
还有一件事。 PHP本身是一种模板引擎,因此您不一定要添加另一级别的模板。使用PHP:
<input type="text" name="name" value="<?=$VALUES['name']?>">
答案 1 :(得分:1)
<input type="text" name="name" value="<?= e($name) ?>">
其中e是逃避函数
我发现不需要模板引擎
更多例子......
...的foreach
<ul>
<?php foreach( $items as $item ): ?>
<li><?= e($item) ?><li>
<?php endforeach; ?>
</ul>
如果....
<input type="checkbox"<?php if( $checkbox ): ?> selected="selected"<?php endif; ?>>
答案 2 :(得分:0)
有一些模板引擎可以支持这种变量语法,例如Blitz模板(http://alexeyrybak.com/blitz/blitz_en.html)会浮现在脑海中。
答案 3 :(得分:0)
我不确定你的意思,但让我猜测一下:
$foo = "Please replace {this} here!";
$bar = str_replace('{this}', 'that', $foo);
当然有很多模板系统可以做到这一点,只有更聪明。所以你可能想看一下。