PHP回声没有伪装

时间:2011-02-21 07:55:52

标签: php echo

我听说过有可能在没有伪装每个引用的情况下回显字符串(例如HTML)。我记得它看起来像这样:

<?php
ECHO SOME_NAME 

<div style="background-color: green;">The quotes here doesn't have to be masqueraded</div>

SOME_NAME
?>

但我不知道它究竟是如何起作用的。你能救我吗?

Greez,Florian

4 个答案:

答案 0 :(得分:7)

你可能意味着heredoc语法(读它!它有一些意想不到的东西,比如END标记必须是行上的唯一事物 - 即之前没有缩进或评论/分号后面的代码):

echo <<<END
your stuff with " and ' here
END;

如果您可以使用PHP 5.3并且不希望在字符串中替换变量,请使用oewdoc语法:

echo <<<'END'
your stuff with " and ' and $not_parsed here
END;

答案 1 :(得分:4)

无需使用heredoc来回显HTML PHP有更好的方法。

?>
<div style="background-color: green;">
 The quotes here doesn't have to be masqueraded
</div>
<?php

HTML以这种方式成为纯HTML,具有语法高亮,代码提示等所有优点 没有一个理由可以使用heredoc来回显HTML块。

答案 2 :(得分:2)

您在谈论PHP heredoc syntax

示例:

  <?php
  $name = "Max";
  $str = <<<DEMO
  Hello $name! <br/>
  This is a
  demo message
  with heredoc.
DEMO;

  echo $str;
  ?>

重要:

  

非常重要的是要注意到   具有结束标识符的行必须   不包含其他字符   可能是分号(;)。这意味着   特别是标识符可能不会   缩进,可能没有   在之前或之后的空格或制表符   分号。这也很重要   意识到第一个角色   在结束标识符之前必须   由本地定义的换行符   操作系统。这是UNIX上的\ n   系统,包括Mac OS X.   关闭分隔符(可能跟随   必须遵循分号   换行。

答案 3 :(得分:1)

您可能也有兴趣探索Nowdoc syntax, available since PHP 5.3