我有一个PHP函数,生成如下所示的HTML代码
function j_uf_SomeFunction($some_var) {
?><div class="db_photo">
<img alt="<?php echo some_php_function ?>" src="<?php echo $some_var; ?>" />
</div><?php
}
Run Code Online (Sandbox Code Playgroud)
当然,它更先进,并添加各种用户选项.
在大多数情况下,我将此函数内联,而不是必须将其附加到字符串.但是,我第一次出现(可能不是最后一次),我需要将呈现的HTML存储在一个字符串中,而不是将它直接发送到解析器来构建页面.
我需要关闭该功能并告诉它采取生成的html并将其存储在一个字符串中,而不是仅在某些情况下将其发送到页面.
function j_uf_SomeFunction($some_var) {
ob_start();
?><div class="db_photo">
<img alt="<?php echo some_php_function ?>" src="<?php echo $some_var; ?>" />
</div><?php
return ob_get_clean();//suggestion by GWW
}
Run Code Online (Sandbox Code Playgroud)
ob_start()是启动缓冲区接收ob_get_clean()清除当前缓冲区并返回其值.
有关http://php.net/manual/en/function.ob-start.php的更多信息
ob*输出缓冲