在PHP中将HTML捕获为字符串

在PHP中将HTML捕获为字符串,php,Php,好吧,那么也许我要做的是完全错误的,我可能是。但我想能够采取之间的HTML。。。像这样: $str = ?> ... some HTML goes here ... <?php ; $str=?> ... 这里有一些HTML。。。 调查和调查。heredoc看起来像: $str = <<<HTML <div>This is some text!</div> HTML; // We're back in PHP. echo $str;

好吧,那么也许我要做的是完全错误的,我可能是。但我想能够采取之间的HTML。。。像这样:

$str = ?>
... some HTML goes here ...
<?php ;
$str=?>
... 这里有一些HTML。。。
调查和调查。heredoc看起来像:

$str = <<<HTML
  <div>This is some text!</div>
HTML;

// We're back in PHP.
echo $str;

$str=PHP有一个多行、特别分隔的字符串,用于这种情况

您可以使用:

ob_start();
?>
... 这里有一些HTML。。。

只是想补充菲哈格的答案

也可以使用函数捕获HTML,包括匿名函数:

<?php $bob = function() { ?>
... some HTML here...
<?php }; ?>

工作得很漂亮!我正在使用一个MVC框架(symfony),并试图遵守规则,这无疑使事情变得更容易。Komodo将以这种方式格式化HTML!谢谢谢谢你的回答!我尝试了herdoc,但出于某种原因,它不喜欢其中的PHP。它正确地识别了它,因为当找不到方法时,它在类的_get()中抛出了异常集。感谢您的回答!我从来没有听说过XHP,它看起来非常有趣和有用。我想我会安装并使用它Facebook向OSS社区开放的内容太棒了。我自己也用过卡桑德拉和龙卷风。
$str = <<<'NOWDOC'
... some HTML goes here
NOWDOC;
<?php $bob = function() { ?>
... some HTML here...
<?php }; ?>
<?php $bob(); ?>
ob_start();
$bob();
$str = ob_get_contents();
ob_end_clean();