示例我有一个文件template.php:
<table>
<tr>
<td><?php echo $data['nombre'] ?></td>
</tr>
<?php foreach($data['values] as $value): ?>
<tr>
<td><?php echo $value ?> </td>
</tr>
<?php endforeach; ?>
</table>
我需要将结果转换为字符串$result = get_content_process('template.php',$data);
,以便在其他过程中使用。
echo $result;
<table>
<tr>
<td>Juan</td>
</tr>
<tr>
<td>Male</td>
</tr>
<tr>
<td>Brown</td>
</tr>
</table>
答案 0 :(得分:3)
<?php
ob_start();
include 'template.php';
$result = ob_get_clean()
?>
应该这样做,$ result是你需要的字符串
答案 1 :(得分:1)
为确保您不提前冲洗,请关闭隐式冲洗。 这个功能可以解决这个问题:
function get_content_process($template, $data) {
ob_implicit_flush(false);
include($template);
$contents = ob_get_contents();
ob_clean();
ob_implicit_flush(true);
return $contents;
}
答案 2 :(得分:0)
您可以使用ob_start()
执行此类操作
<?php
ob_start( );
$GLOBALS['data'] = ...;
include("template.php");
$result = ob_get_clean();
echo $result;
?>
答案 3 :(得分:0)
简单快速的解决方案:
$result = file_get_contents($view); // $view == the address of the file(ie 'some_folder/some_file.php')