想要将逻辑运算的PHP代码 和 HTML代码分离 循环的内容应该如何写?

在同一个PHP文件里想要将逻辑运算的PHP代码和HTML代码分离循环的内容应该如何写?我是这样写的,但是<HTML代码>需要写在PHP的循环内,下面的HTML代码就不够直... 在同一个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代码>');
并没有执行这个函数
请问我应该怎么写才对呢? 模板里是怎么实现的? 原理是?
展开
 我来答
MrabcM
推荐于2016-01-01
知道答主
回答量:1
采纳率:0%
帮助的人:2.6万
展开全部
HTML文件test.html:
<HTML代码>{$title}<HTML代码>
{$for}
<br /><HTML代码>循环内容{$i}<HTML代码>
{$end}

PHP文件test.php:
$title = '标题';
$html = file_get_contents('test.html');

$html = str_replace('{$title}','<?php echo $title;?>',$html);
$html= str_replace('{$for}','<?php for ($i=0; $i<10; $i++) { ?>',$html);
$html = str_replace('{$i}','<?php echo $i;?>',$html);
$html = str_replace('{$end}','<?php } ?>',$html);

$fp = fopen('index.php', 'w');
fwrite($fp,$html);
fclose($fp);

生成的PHP文件index.php:
<HTML代码><?php echo $title;?><HTML代码>
<?php for ($i=0; $i<10; $i++) { ?>
<br /><HTML代码>循环内容<?php echo $i;?><HTML代码>
<?php } ?>
创作者Em5wIQ0ex5
2013-03-18 · TA获得超过691个赞
知道小有建树答主
回答量:527
采纳率:0%
帮助的人:136万
展开全部
你这是混编吧?
要分离php和html的话最简单的就是用smarty,前后台代码分离
你会了之后写这个循环就没问题了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhuhuaizhong
2013-03-18 · TA获得超过7276个赞
知道大有可为答主
回答量:3978
采纳率:63%
帮助的人:3601万
展开全部
除非使用php模板,否则没什么好办法,因为内容是动态的,而html又是静态的。
要想能直观的预览html代码,那只能是在 html 里套 php ,你现在是在 php 里生成 html ,是看不到 html 效果的。

比如那个循环可以这样

<?php for($i=0;$i<10;$i++)
{
?>
<html代码><?php echo 内容 ?></html代码>
<?php
}
?>

不过这种方式代码混在在一起,也不是好办法,但至少一些能预览 html 的编辑器能看到个页面大体样子。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sakui_index
2013-03-19 · TA获得超过139个赞
知道小有建树答主
回答量:292
采纳率:100%
帮助的人:132万
展开全部
先去学个模版分离吧,不然也就只能
<?php
foreach(){
?>
<html></html>
<?php } ?>
这么写啦!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
你妹_伤不起
2013-03-18 · TA获得超过295个赞
知道小有建树答主
回答量:498
采纳率:100%
帮助的人:267万
展开全部
难道不能这样么<?php

for($i=0;$1<10);$i++ { ?>

<div></div>

<?php } ?>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式