![](/img/trans.png)
[英]How to use a foreach loop to echo first name, last name, and email address objects in an array in PHP and along with HTML
[英]PHP use {{name}} to echo in HTML
我在某些脚本中看到过,它们使用{{}}在HTML内部进行回显,我认为它看起来更干净!
因此,例如,我现在有:
<?php $hi = "hello"; ?>
<html>
<title><?php echo $hi; ?></title>
并在标题中显示问候,但是我想要的是:
<?php $hi = "hello"; ?>
<html>
<title>{{hi}}</title>
我怎样才能做到这一点?
在PHP中,您无法获取变量名(除非使用不可靠的hacky方法)。 但是正如@samayo所述,这通常由模板引擎处理。
如果您想自己进行管理,可以执行以下操作:
$array = [
'tag' => 'a',
'text' => 'b'
];
$html = '<html>
{{tag}}
<body>
{{text}}
</body>
</html>';
现在,您可以使用几种方法来代替它,通常由正则表达式完成:
preg_match_all("/.*({{(.*)}})/", $html, $result);
输出:
$result = array(
0 => array(
0 => '{{tag}}'
1 => '{{text}}'
)
1 => array(
0 => '{{tag}}'
1 => '{{text}}'
)
2 => array(
0 => 'tag'
1 => 'text'
)
)
您也可以将数据直接替换为preg_replace()
这样,您就拥有了替换文本所需的所有数据。 $result[2][0]
引用$array[key]
( $array[$result[2][0]]
))替换定义。 这就是模板引擎通常的工作方式。
您可能已经看到它是模板引擎,请在此处查看树枝: http : //twig.sensiolabs.org/
这是文档: http : //twig.sensiolabs.org/documentation
安装方法如下: http : //twig.sensiolabs.org/doc/intro.html#installation
或AngularJS:
这是链接: https : //angularjs.org/
我已经成功使用了[Dust.js](www.dustjs.com),就像在我的PHP项目中模板化javascript引擎一样。 Dustjs是一个很好的框架,主要是如果您需要使用JSON从REST来源获取一些资源。 DustJs旨在在服务器和客户端浏览器上异步运行。 这时已选择了最后一个选项。 DustJs可以使用Partials-可以包含其他模板的模板。
Dustjs能够导航到JSON结构循环并搜索KEYS以获取数据,从而简化了渲染工作并取消了用户界面数据的耦合。
DustJs由Linkedin团队维护,并在主要站点上广泛采用。
试试看。 从http://www.dustjs.com/guides/getting-started/开始。
干杯。
使用具有模板引擎的php框架
像laravel(叶片模板引擎)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.