我在大多数CMS和论坛模板中看到了这一点。如何制作像{blabla}
这样的HTML标签,如何将它们转发到PHP函数?
答案 0 :(得分:9)
这些被称为模板系统,这些“标签”的样式取决于您正在使用的模板系统。
PHP中的一个基本示例是这样的:
<强> page.tpl:强>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Basic templating system</title>
</head>
<body>
<h2>Welcome to our website, {{name}} !</h2>
<p>Please confirm your account. We've sent an email to: {{email}}</p>
</body>
</html>
<强>的index.php:强>
<?php
// Get the template's content
$template = file_get_contents("page.tpl");
// The data needed in the template
$data = array(
'name' => 'John',
'email' => 'john@smith.com',
);
// The template's tags pattern
$pattern = '{{%s}}';
// Preparing the $map array used to replace the template's tags with data values
$map = array();
foreach($data as $var => $value)
{
$map[sprintf($pattern, $var)] = $value;
}
// Replace the tags with data values
$output = strtr($template, $map);
// Output the template with replaced tags
echo $output;
?>
我建议您查看现有的模板引擎,例如:Mustache,Smarty或Twig以及其他许多
希望这有帮助:)!