ID: 9320
User Update by: [EMAIL PROTECTED]
Status: Bogus
Bug Type: Scripting Engine problem
Description: ?> is always the last (even in strings!!!)

It is bug, bug and bug!!!

See the manual :

| The "one-line" comment styles actually only
| comment to the end of the line or the current
| block of PHP code, whichever comes first.

The thing echoed should not mean the end of
the block: 

1: <?php
2:   #echo "<?php echo 'test'; ?>";
3: ?>

The block starts on line 1 and ends
on line 3. I think we can agree on this.

BUT: the PHP parser thinks that the end of
code is on line 2, but this is just
one thing echoed, and not meant to be
parsed by this PHP parser...

The end of block is on line 3.

This is not documented!

Previous Comments:
---------------------------------------------------------------------------

[2001-02-17 13:02:28] [EMAIL PROTECTED]
This is not a bug, but documented behaviour.

---------------------------------------------------------------------------

[2001-02-17 12:14:46] [EMAIL PROTECTED]
See this code:

<?php
  echo "<?php echo 'test'; ?>";
?>

This works good. And prints:
<?php echo 'test'; ?>
which it should print.

Then using a comment:

<?php
  #echo "<?php echo 'test'; ?>";
?>

This prints: 

";

?>

The ?> is recognized in the string, although
it should not be recognized I think!!!

This is a problem if you generate php pages,
as Smarty does for expample... (phpinsider.com)

---------------------------------------------------------------------------


Full Bug description available at: http://bugs.php.net/?id=9320


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to