好的,所以这是一个已经回答的旧问题,但是对于想要在早期版本的PHP中实现与NOWDOC类似概念的人来说,这可能是有用的。它使用输出缓冲从源文件逐字捕获文本,没有任何变量解析等。如果你想插入变量,但是你可以在字面上放任何东西,只要它不包括字符就没有多大用处“?>”,终止它。
请注意,它与HEREDOC和NOWDOC的不同之处在于使用>>> TERMINATOR和>>>'TERMINATOR',因为变量是在文档之后定义的。
function NOWDOC_() {
ob_start();
}
function _NOWDOC(&$buf=false) {
$buf_ = ob_get_contents();
ob_end_clean();
if ($buf!==false) $buf .= $buf_;
return $buf_;
}
NOWDOC_(); ?>random garbage, not shown, but captured into $myvar
it has all sorts ] [* \%& of characters in it
and completely ignores things like {$this} or $_SERVER['REMOTE_ADDR';
NOWDOC_(); ?>
nice HTML & .alert("javascript!");
this also demonstrates using $var = _NOWDOC() syntax.
echo "the html will be [".$myhtml."]";
?>