转发像{blabla}到php函数的标签

时间:2014-03-08 09:53:31

标签: php html web tags

我在大多数CMS和论坛模板中看到了这一点。如何制作像{blabla}这样的HTML标签,如何将它们转发到PHP函数?

1 个答案:

答案 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;

?>

我建议您查看现有的模板引擎,例如:MustacheSmartyTwig以及其他许多

希望这有帮助:)!