想要将逻辑运算的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代码>');
并没有执行这个函数
请问我应该怎么写才对呢? 模板里是怎么实现的? 原理是? 展开
循环的内容应该如何写?
我是这样写的,但是<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代码>');
并没有执行这个函数
请问我应该怎么写才对呢? 模板里是怎么实现的? 原理是? 展开
5个回答
展开全部
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 } ?>
<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 } ?>
展开全部
你这是混编吧?
要分离php和html的话最简单的就是用smarty,前后台代码分离
你会了之后写这个循环就没问题了
要分离php和html的话最简单的就是用smarty,前后台代码分离
你会了之后写这个循环就没问题了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
除非使用php模板,否则没什么好办法,因为内容是动态的,而html又是静态的。
要想能直观的预览html代码,那只能是在 html 里套 php ,你现在是在 php 里生成 html ,是看不到 html 效果的。
比如那个循环可以这样
<?php for($i=0;$i<10;$i++)
{
?>
<html代码><?php echo 内容 ?></html代码>
<?php
}
?>
不过这种方式代码混在在一起,也不是好办法,但至少一些能预览 html 的编辑器能看到个页面大体样子。
要想能直观的预览html代码,那只能是在 html 里套 php ,你现在是在 php 里生成 html ,是看不到 html 效果的。
比如那个循环可以这样
<?php for($i=0;$i<10;$i++)
{
?>
<html代码><?php echo 内容 ?></html代码>
<?php
}
?>
不过这种方式代码混在在一起,也不是好办法,但至少一些能预览 html 的编辑器能看到个页面大体样子。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先去学个模版分离吧,不然也就只能
<?php
foreach(){
?>
<html></html>
<?php } ?>
这么写啦!
<?php
foreach(){
?>
<html></html>
<?php } ?>
这么写啦!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
难道不能这样么<?php
for($i=0;$1<10);$i++ { ?>
<div></div>
<?php } ?>
for($i=0;$1<10);$i++ { ?>
<div></div>
<?php } ?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询