在PHP中将响应转换为字符串

时间:2013-08-19 08:32:20

标签: php

无论如何都要在PHP中将html响应转换为字符串。让我通过一个例子来表达。

<?php
function printTitle($title="Welcome"){
?>
<div class='mainTitle'>
<div class='titleLogo'>

</div>
<div class='titleString'>
<?php echo $title; ?>
</div>
</div>

<?php
}
?>

这里调用此函数将输出显示标题的html。 现在我需要的是将此响应转换为字符串值,以便它可以作为json响应传递,如:

$response=array("title"=>printTitle(),"sidebar"=>getSideBar());

echo json_encode($response);

我想这样做,以便我可以通过ajax获取标题和侧边栏。

一种方法是:

<?php
    function printTitle($title="Welcome"){

    $ret="<div class='mainTitle'>
    <div class='titleLogo'>

    </div>
    <div class='titleString'>
    ". $title ."
    </div>
    </div>";

    return $ret;
    }
    ?>

但是这让html变得一团糟。

2 个答案:

答案 0 :(得分:2)

您可以使用HEREDOC

function printTitle($title="Welcome"){
    return <<<HTML
<div class='mainTitle'>
    <div class='titleLogo'>
    </div>
    <div class='titleString'>
    $title
    </div>
</div>
HTML;
}

答案 1 :(得分:0)

使用输出缓冲区:

function printTitle($title="Welcome"){
  ob_start();

  ...

  return ob_get_clean();
}

从ob_get_flush()更改为ob_get_clean();