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

Reply via email to