定义变量而不是 php echo 来实现模板标签功能

Define variable instead of php echo to implement template tags feature

我正在编写一个具有模板添加功能的项目。 并希望在模板中有简单的变量,这就是为什么 我想定义一些变量或类似的东西而不是使用 :

<?php echo $variable; ?>

我想要一些类似的东西:

{$varaible}

我该怎么做? 实际上我怎样才能创建我的简单模板引擎? 谢谢。

首先,您必须定义变量

接下来您将不得不使用这个 PHP 函数来进行替换 str_replace http://php.net/str_replace

// Provides: You should eat pizza, beer, and ice cream every day
$phrase  = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy   = array("pizza", "beer", "ice cream");

$newphrase = str_replace($healthy, $yummy, $phrase);

将相同的方法应用到您的模板,效果很好。

您可以使用任何现有的模板引擎或通过以下代码集来完成。

如下所示创建一个模板文件(调整 HTML,添加更多模板变量或其他任何内容)。将其保存到文件中并将其命名为 mytemplate.txt

<html>
<head>
<title>{title}</title>
</head>
<body>
<h1>{header}</h1>
{text}
</body>
</html>

创建一个 PHP 文件,并将其命名为 home.php(或根据您的用例取任何名称)。添加以下代码。

<?php 
$tags['title']="Replaces title tag";
$tags['header']="Replaces header tag";
$tags['text']="Replaces text tag"; 

//lets us open your template file and replace the tags
print preg_replace("/\{([^\{]{1,100}?)\}/e","$tags[]",file_get_contents("mytemplate.txt"));
?>

确保 mytemplate.txt 和 home.php 在您服务器上的同一目录中。

注意:- 这为您提供了一个基本的模板引擎,使用 PHP 的 preg_replace 功能。

这是参考资料

  1. https://www.webmasterworld.com/php/3444822.htm
  2. http://php.net/manual/en/function.preg-replace.php