假设我们有类似的东西:
<?php
while(some statement here)
{
echo "some HTML here";
//..................
}
?>
如你所知,我们可以这样做:
<?php
while(some statement here)
{?>
some HTML here
..............
<?php
} ?>
现在,如果我有这样的话怎么办?
<?php
function example(){
$out="";
while(some statement here)
{
$out.="some HTML here";
$out.="some other HTML here";
//.......................
}
return $out;
}
?>
如何从<?php ?>
中获取HTML代码,以便它更具可读性,并且可以使用NotePad ++等编辑器轻松编辑?提前致谢
答案 0 :(得分:3)
因此,如果您想要更好的语法突出显示,则需要关闭php标记。输出缓冲是一种干净的方法,它可以让你在记事本++中保持语法高亮。 http://php.net/manual/en/book.outcontrol.php
<?php
function example(){
$foo = "Hello Again";
ob_start();
while(some statement here)
{
?>
<div id="somediv">Hello!</div>
<div id="somephpvar"><?php echo $foo;?></div>
<?php
}
return ob_get_clean();
}
?>
答案 1 :(得分:1)
简答:使用输出缓冲区控制(http://php.net/manual/en/book.outcontrol.php)
实施例
<?php
function example(){
ob_start();
$i = 0;
while($i < 10)
{
?>
Hello<br/>
<?php
$i++;
}
$output = ob_get_contents();
ob_end_clean();
return $output;
}
echo example();
答案很长:您希望使用像Twig(https://twig.sensiolabs.org/)这样的模板引擎来完全使用PHP代码之外的HTML(当然还有很多好处)
答案 2 :(得分:1)
如果您想自己编写函数,最好的方法是使用output buffering control,例如:
<?php
function() {
ob_start();
?>
<h1>Hello world</h1>
<?php
return ob_get_clean();
}
但是,强烈建议您使用模板库,例如mustache。大多数PHP框架都包含自己的模板机制;查看laravel和cakePHP