0

无论如何将 html 响应转换为 php.ini 中的字符串。让我通过一个例子来解释。

<?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 真的一团糟。

4

2 回答 2

2

您可以使用HEREDOC

function printTitle($title="Welcome"){
    return <<<HTML
<div class='mainTitle'>
    <div class='titleLogo'>
    </div>
    <div class='titleString'>
    $title
    </div>
</div>
HTML;
}
于 2013-08-19T08:41:15.673 回答
0

使用输出缓冲区:

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

  ...

  return ob_get_clean();
}

从 ob_get_flush() 更改为 ob_get_clean();

于 2013-08-19T08:35:17.860 回答