Bug #11071 Updated: probs displaying backslash with HERE statements
| From: | yohgaki@php.net | Date: | Wed, 12 Dec 2001 11:47:21 +0000 |
| Subject: | Bug #11071 Updated: probs displaying backslash with HERE statements | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-73269@lists.php.net to get a copy of this message | ||
ID: 11071
Updated by: yohgaki
Reported By: simon@studio24.net
Status: Open
Bug Type: Scripting Engine problem
Operating System: Linux
PHP Version: 4.0.4pl1
New Comment:
Simpler code for this report.
Heredoc block supposed to parse just like double quoted strings, but it does not. (PHP4.1.0)
Is this a bug or feature?
?php
echo '<pre>';
$heredoc = <<< EOD
\{
EOD;
$string = "\{";
echo "heredoc : $heredoc\n";
echo "string : $string\n";
?>
Previous Comments:
------------------------------------------------------------------------
[2001-05-23 19:09:51] simon@studio24.net
hi there,
this may be obscure and I'm not sure if it is a bug but I've experienced a problem with
populating a variable with a HERE statement (ie. $variable = <<< EOD). As far as I was
aware the variable is supposed to be populated with anything after the first EOD line and before the
ending EOD; line.
This HERE statement does not work if you put a slash before a left curly brace ( \{ ) . It's
fine with a right curly brace ( \} ). looking at the script below version 1 does not display the
first slash, version 2 does (only because I escaped the slash first).
This seems to be a bug, so I hope this is the right place to inform you about it.
best wishes
Simon R Jones
simon@studio24.net
www.studio24.net
Configure command: './configure' '--with-gd' '--enable-track-vars'
'--with-apxs=/usr/sbin/apxs' '--enable-sysvsem' '--enable-sysvshm'
'--with-zlib' '--prefix=/usr'
'--with-config-file-path=/etc/httpd/conf' '--enable-memory-limit'
'--with-pgsql=/usr' '--with-db2=/usr' '--with-gdbm=/usr'
'--with-ndbm=/usr' '--with-dbase' '--enable-trans-sid'
'--with-xml=/usr' '--enable-debugger' '--enable-ftp'
'--with-ttf' '--with-jpeg-dir=/usr' '--enable-bcmath'
'--with-openssl' '--enable-trans-sid' '--with-mysql=/usr'
'--with-xpm-dir=/usr/X11R6' '--with-png-dir=/usr' '--with-imap'
'--with-dom' '--with-imap-ssl' '--with-mhash=/usr'
'--with-mcrypt=/usr'
example script (online at http://dev.studio24.net/test.php ):
<?
$content .= <<< EOD
<tt>
\{[A-Z0-9][A-Z0-9_]{1,}\} more text \" \ \\ \{ \} \&
</tt>
EOD;
$content2 .= <<< EOD
<tt>
\\{[A-Z0-9][A-Z0-9_]{1,}\} more text \" \ \\ \{ \} \&
</tt>
EOD;
echo "version 1: $content<br>\n
version 2: $content2";
?>
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=11071&edit=1