在同一个PHP文件里 想要将逻辑运算的PHP代码 和 HTML代码分离
循环的内容应该如何写?
我是这样写的,但是<HTML代码>需要写在PHP的循环内,下面的HTML代码就不够直观了,如何才能显示HTML代码在原来的位置,又能循环?
<?php
$title = '标题';
<?php
for ($i=0; $i<10; $i++) {
$content .= '<HTML代码>循环内容<HTML代码><br />';
}
echo <<<HTML <HTML代码>{$title}<HTML代码>
{$content}
HEML;
?>
--------------------------------------------------------------------------------------------
可能是我没表达清楚
我知道模板可以分离
我想了解模板是怎么实现循环的
一般单个变量只要赋值或者替换就可以了
但是循环里有其它的HTML代码是怎么做到连HTML一起循环的?
后来我想到了一个办法:
<?php
$title = '标题';
function content($html) {
for ($i=0; $i<10; $i++) {
echo str_replace('{$i}',$i,$html);
}
}
echo "<HTML代码>{$title}<HTML代码>";
content('<br /><HTML代码>循环内容{$i}<HTML代码>');
?>
这样确实可以“分离”了,HTML代码也在原来的地方,但看上去还不够“完美”。
如果要真正的分离 把它们分成两个文件 那么HTML的文件应该这样才好:
<HTML代码>{$title}<HTML代码>
{$for}
<br /><HTML代码>循环内容{$i}<HTML代码>
{$end}
PHP文件中我这样写:
$for = 'content("';
$end = '");';
得到的是浏览器直接输出
content('<br /><HTML代码>循环内容{$i}<HTML代码>');
并没有执行这个函数
请问我应该怎么写才对呢? 模板里是怎么实现的? 原理是?