带有PHP结束标记和PHP开始标记的PHP函数将其捕获为字符串

wh6knrhe  于 2023-05-21  发布在  PHP
关注(0)|答案(1)|浏览(94)

我喜欢用php函数搭配模板
让我澄清一下为什么我想要这个我创建一个模板系统,更新或创建视图文件在php动态。

function body($x = 1) { ?>
    <?php if ($x == 1) { ?>
        Congregates there is one
        ?>
        <div class="container"> Test <?= $x ?>
        <?php
    }
}?>

但它只是打印/回显它不是我想要的,我想可以捕获它作为一个字符串。有heredoc或nowdoc,但这与if,elseif,else,foreach等不太好。我怎么能在这里使用条件。

function child0($x = 4) {
    return<<<HTML
    <div class="container"> Test 
    $x
    </div> 
HTML;
}

Some Old question suggesting a complicate system用于使用heredoc/nowdoc

6vl6ewon

6vl6ewon1#

只需将HTML部分 Package 在ob_startob_get_clean中。任何 * 写 * 到输出的内容都会被缓冲:

function body($x = 1) {
    ob_start();
    if ($x == 1) {
        ?>
        <div class="container">
            Test <?php echo $x; ?>
        </div>
        <?php
    }
    return ob_get_clean();
}

相关问题