ID:               48196
 User updated by:  saulo_gil at argentina dot com
-Summary:          bug in string concatenation after calling
                   preg_match_all()
 Reported By:      saulo_gil at argentina dot com
 Status:           Open
 Bug Type:         PCRE related
 Operating System: Windows XP
 PHP Version:      5.3.0RC2
 New Comment:

Forgot to mention one thing, I've tried to reproduce this bug using the
PHP CLI, calling this script with php.exe -q <script.php>
I've just reproduced it again on a freshly installed XP box. Same
happened with PHP 5.2.9-2.


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

[2009-05-08 23:26:18] [email protected]

I can't reproduce it.

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

[2009-05-08 20:33:55] saulo_gil at argentina dot com

Description:
------------
If I try to perform a simple concatenation involving a variable created
from the matches output of preg_match_all() the resulting string is
borked. Please see the code above.

What I want to do: echo "[" . $var . "]";


Reproduce code:
---------------
<?
function foo($s)
{
        preg_match_all("/PROCEDURE (.*)/i", $s, $matches);
        $name = (string) $matches[1][0];
        echo $name . "\n";
        return "[" . $name . "]";
}       


$s = "use providers
go

ALTER PROCEDURE SPD_EXECUTIVE_PROVIDER_DEALER
        (
                @EXECUTIVE_PROVIDER_ID  KEY_ID,
                @USER_SESSION_ID        ID
        )
/*
        Procedimiento           : SPD_EXECUTIVE_PROVIDER_DEALER";
        
echo foo($s);
?>

Expected result:
----------------
[SPD_EXECUTIVE_PROVIDER_DEALER]

Actual result:
--------------
]SPD_EXECUTIVE_PROVIDER_DEALER


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


-- 
Edit this bug report at http://bugs.php.net/?id=48196&edit=1

Reply via email to