0

我对 PHP 很陌生,但我对它的工作原理有一个很好的了解。我的问题是:是否有可能在 HTML 中有类似 %username% 的内容,并且当 PHP 识别此文本时,它会输出用户名?即:将 %username% 转换为实际用户名?

这将如何完成,或者它是如何工作的?

提前感谢所有帮助!

4

3 回答 3

5

这通常通过像Smarty这样的模板引擎来完成。参见smarty.net的下一个定义

什么是模板引擎,我为什么要使用它?

Smarty 是 PHP 的模板引擎。更具体地说,它有助于以一种可管理的方式将应用程序逻辑和内容与其表示分离。这最好在应用程序程序员和模板设计者扮演不同角色的情况下进行描述,或者在大多数情况下不是同一个人。例如,假设您正在创建一个显示报纸文章的网页。文章标题、标语、作者和正文是内容元素,它们不包含有关如何呈现的信息。它们由应用程序传递给 Smarty,然后模板设计者编辑模板并使用 HTML 标签和模板标签的组合来格式化这些元素的表示形式(HTML 表格、背景颜色、字体大小、样式表等)。) 有一天程序员需要改变获取文章内容的方式(应用程序逻辑的改变)。这种改变不会影响模板设计者,内容仍然会完全一样地到达模板中。同样,如果模板设计者想要完全重新设计模板,这不需要更改应用程序逻辑。因此,程序员可以对应用程序逻辑进行更改而无需重构模板,模板设计者可以对模板进行更改而不破坏应用程序逻辑。这不需要更改应用程序逻辑。因此,程序员可以对应用程序逻辑进行更改而无需重构模板,模板设计者可以对模板进行更改而不破坏应用程序逻辑。这不需要更改应用程序逻辑。因此,程序员可以对应用程序逻辑进行更改而无需重构模板,模板设计者可以对模板进行更改而不破坏应用程序逻辑。

除了 smarty 之外,还有许多其他的模板引擎,只需 google 即可。

于 2012-12-30T12:33:21.573 回答
2

是的,像这样:

<?
$username = "However you get your username";
// other serverside logic
?>

<HTML>
    <BODY>
        <? echo $username; ?>
    <BODY>
</HTML>

它不会变得更短。

这只是一个回声声明,我认为我不需要解释。

于 2012-12-30T12:21:32.750 回答
0

有更多选项可以实现这一点 - 您可以使用 php.ini 选项short_open_tag来使用<?=$varname ?>语法。您还可以使用 php.ini 选项asp_tags用于<%=$var %>var 输出。

但我认为最好的选择是使用像Smarty这样的模板引擎。使用模板引擎,您可以严格分离设计和代码逻辑。

于 2012-12-30T12:34:26.873 回答