如何将php文件的结果转换为字符串

时间:2011-09-02 19:05:40

标签: php

示例我有一个文件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>

4 个答案:

答案 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')