如何在heredoc中制作php转义括号?

时间:2010-11-02 21:39:00

标签: php

我想在heredoc中转义括号(在php中), 例如,

$str = <<<EOD    
hello <hello inside>
EOD;

但是当我回应这个字符串时,我只是得到“你好”作为输出

2 个答案:

答案 0 :(得分:6)

这与PHP无关。这是您的浏览器将<hello inside>解释为标记。

我担心没有自动方法将其转换为heredoc中的HTML元素;您必须对整个字符串执行htmlspecialchars();,或使用HTML实体:

$str = <<<EOD    
hello &lt;hello inside&gt;
EOD;

答案 1 :(得分:2)

我会把这个作为对Pekka答案的评论,但你不能用这种方式格式化评论。您可以像字符串一样处理HEREDOC / NOWDOC块(只要没有跟在该行的结束标识符之后),所以这是完全有效的:

$str = htmlentities(<<< EOD
hello <hello inside>
EOD
);

与以下内容相同:

$str = <<< EOD
hello <hello inside>
EOD;
$str = htmlentities($str);