douji6199 2014-11-18 07:01 采纳率: 100%
浏览 5

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

I just started to learn the php and found interestingly new only to me that single line php can affect the code (break the code and may output the html):

From the docs:

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

Which results in ' . " "; (and whatever is in the lines following it) to be output to the HTML page.

But using comment on this wouldn't affect the code:

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

Ah, its only because of < and > or something else?

So, I'm curious to know what exactly the factors that affect from using single line comment?

  • 写回答

1条回答 默认 最新

  • douxie0824 2014-11-18 07:05
    关注

    This is an excerpt from the php.net website mentioned in my comment:

    The "one-line" comment styles only comment to the end of the line or the current block of PHP code, whichever comes first. This means that HTML code after // ... ?> or # ... ?> WILL be printed: ?> breaks out of PHP mode and returns to HTML mode, and // or # cannot influence that. If the asp_tags configuration directive is enabled, it behaves the same with // %> and # %>. However, the tag doesn't break out of PHP mode in a one-line comment.

    In your example, it would be the ?> that is breaking out of the comment as new lines and end PHP tags will override comments to end the script, which is why when you split the ? and the > into two strings and concatenated them, it didn't end the comment.

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算