ID: 41281
User updated by: fantasticjamieburns at hotmail dot com
Reported By: fantasticjamieburns at hotmail dot com
Status: Open
Bug Type: Documentation problem
Operating System: Linux/Windows
PHP Version: 4.4.7
New Comment:
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?
Previous Comments:
------------------------------------------------------------------------
[2007-05-04 11:03:36] [EMAIL PROTECTED]
Reclassified as docu problem.
------------------------------------------------------------------------
[2007-05-04 11:02:38] [EMAIL PROTECTED]
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] [EMAIL PROTECTED]
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
------------------------------------------------------------------------
[2007-05-04 10:29:19] fantasticjamieburns at hotmail dot com
Description:
------------
Well when I eval() or include() the code below, a newline gets
truncated. Basically, whenerver an "end of php block" is the last thing
on a line, the parser steals a newline.
Reproduce code:
---------------
ONE
TWO<?php /* whatever */ ?>
THREE
Expected result:
----------------
ONE
TWO
THREE
Actual result:
--------------
ONE
TWOTHREE
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=41281&edit=1