回声过几行,逃避变量?

时间:2011-05-01 16:04:51

标签: php

我想做这样的输出:

echo <<<END
$monkey
END;

其中输出为'$ monkey'(即所有直到END的文本都被视为普通文本,而不是解析)

我想避免在END之前转义或修改任何文本。 那可能吗?

e.g。理想情况下,我想做这样的事情

echo '
loads of lines here
';

2 个答案:

答案 0 :(得分:3)

在PHP 5.3中,您可以使用nowdoc

$var = <<<'END'
$monkey
END;

否则,你总是担心逃避某些事情(heredoc上的所有转义代码和美元符号,双引号字符串和反斜杠上的双引号以及单引号字符串中的单个代码)。

答案 1 :(得分:1)

即使使用heredoc或nowdoc,如果您要在文本中显示文字END;,仍会出现问题。唯一万无一失的方法是将文字文​​本放在一个单独的文件中,将其读入变量(例如file_get_contents),然后回显该变量。