影响单行注释的因素有哪些?

时间:2014-11-18 07:01:06

标签: php

我刚开始学习php并且发现有趣的新东西只对我说单行php可以影响代码(打破代码并可能输出html):

来自文档:

//  $file_contents  = '<?php die(); ?>' . "\n";

导致&#39; 。 &#34; \ n&#34 ;; (以及它后面的行中的任何内容)输出到HTML页面。

但是对此使用评论不会影响代码:

$file_contents  = '<' . '?php die(); ?' . '>' . "\n";

啊,这只是因为<>或其他原因?

所以,我很想知道使用单行注释会产生什么影响?

1 个答案:

答案 0 :(得分:0)

这是我在评论中提到的php.net网站的摘录:

&#34; one-line&#34;注释样式只注释到行的末尾或当前的PHP代码块,以先到者为准。这意味着// ...&gt;之后的HTML代码或#...?&gt;将被打印:?&gt;跳出PHP模式并返回到HTML模式,//或#不能影响它。如果启用了asp_tags配置指令,则其行为与//%&gt;相同和#%&gt;。但是,标记在单行注释中不会脱离PHP模式。

在你的例子中,它将是?&gt;因为新行和结束PHP标记将覆盖注释以结束脚本,这就是突破注释,这就是为什么当你拆分?并且&gt;分成两个字符串并连接起来,它没有结束评论。