如何提高PHP中嵌入的HTML代码的可读性

时间:2017-06-30 10:35:03

标签: php html coding-style

假设我们有类似的东西:

<?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 ++等编辑器轻松编辑?提前致谢

3 个答案:

答案 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框架都包含自己的模板机制;查看laravelcakePHP