定义变量而不是 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 功能。
这是参考资料
我正在编写一个具有模板添加功能的项目。 并希望在模板中有简单的变量,这就是为什么 我想定义一些变量或类似的东西而不是使用 :
<?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 功能。
这是参考资料