ID: 41281 Updated by: [EMAIL PROTECTED] 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] [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 ------------------------------------------------------------------------ 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
