#41281 [Opn]: evaluating or including php content loses newlines
| From: | mgf@php.net | Date: | Fri, 04 May 2007 11:26:49 +0000 |
| Subject: | #41281 [Opn]: evaluating or including php content loses newlines | ||
| References: | 1 | Groups: | php.doc |
| Request: | Send a blank email to phpdoc+get-969376254@lists.php.net to get a copy of this message | ||
ID: 41281
Updated by: mgf@php.net
Reported By: fantasticjamieburns at hotmail dot com
Status: Open
Bug Type: Documentation problem
Operating System: Linux/Windows
PHP Version: 4.4.7
New Comment:
The manual also states (at
http://php.net/manual/en/language.basic-syntax.instruction-separation.php):
"The closing tag for the block will include the immediately trailing
newline if one is present."
... and this has been the case forever.
However, I agree that it would probably be useful to modify the text
you quoted to read something like:
"... when PHP hits the ?> closing tags, it simply starts outputting
whatever it finds (except for an immediately following newline) until
it hits another opening tag."
... so I'm leaving this open as a Documentation Problem!
Previous Comments:
------------------------------------------------------------------------
[2007-05-04 11:21:37] fantasticjamieburns at hotmail dot com
OK, thanks for classifying this as a documentation problem.
If it is indeed the case that a PHP end tag considers a newline to be
"part of the end tag" then I must say that is really dumb.
It breaks all sorts of simple things like:
<pre>
- <?php echo("jack"); ?>
- <?php echo("jill"); ?>
</pre>
Now why on earth would PHP think it has the right to take away a
newline character OUTSIDE of the end tag? In every other case the end
tag finishes with the less-than symbol, no?
Now, if a newline is now part of the close tag, why not a space?
<?php echo('jack'); ?> <?php echo("jill"); ?>
Does the space now also get taken by PHP? Or is it outside the PHP
blocks? And if it is outside, is it not because it is beyone the
less-than symbol of the first block?
------------------------------------------------------------------------
[2007-05-04 11:03:36] tony2001@php.net
Reclassified as docu problem.
------------------------------------------------------------------------
[2007-05-04 11:02:38] derick@php.net
But the new line is part of the closing tag. This is however not
properly documented here:
http://www.php.net/manual/en/language.basic-syntax.php
------------------------------------------------------------------------
[2007-05-04 10:51:43] fantasticjamieburns at hotmail dot com
I have been developing with PHP since version 3.
I have read the manual many times.
The manual states:
"... when PHP hits the ?> closing tags, it simply starts outputting
whatever it finds until it hits another opening tag."
NOW...
As I have highlighted, PHP is not outputting everything after the
closing tag in the specific case where there is a newline immediately
after the closing tag.
So... either tha manual is wrong or the parser is broken.
Did you even bother to try the simple test case I gave?
------------------------------------------------------------------------
[2007-05-04 10:42:10] tony2001@php.net
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/41281
--
Edit this bug report at http://bugs.php.net/?id=41281&edit=1