Bug #14819 Updated: str_replace used with serialize
| From: | georg@php.net | Date: | Thu, 03 Jan 2002 06:28:09 +0000 |
| Subject: | Bug #14819 Updated: str_replace used with serialize | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-75740@lists.php.net to get a copy of this message | ||
ID: 14819
Updated by: georg
Reported By: voltaic@thcnet.net
Status: Open
Bug Type: Strings related
Operating System: Linux
PHP Version: 4.0.6
New Comment:
Just tested it with 4.0.6 and 4.1.0
All seems to be ok.
Can you send me your configuration options?
Previous Comments:
------------------------------------------------------------------------
[2002-01-02 23:49:09] voltaic@thcnet.net
Two lines like this:
$myarray[ 2 ] = str_replace( "'", "", $mystring );
$myserial = serialize( $myarray );
produce a serialized array in $myserial but it contains the wrong length or sometimes the wrong
value for the string I inserted. It sometimes deletes the "'" and the following
character, sometimes deletes just the "'" but has the wrong length of the string
encoded in the serialized variable.
An example of $myserial would be:
a:3:{i:0;s:2:"s1";i:1;s:2:"s2";i:2;s:5:"dont";}
Which encodes the wrong length for the final string.
It works correctly when I break it into three lines:
$mystring = str_replace( "'", "", $mystring );
$myarray[ 2 ] = $mystring;
$myserial = serialize( $myarray );
An example of $myserial would be:
a:3:{i:0;s:2:"s1";i:1;s:2:"s2";i:2;s:4:"dont";}
Which encodes the correct length for the final string.
This only appears to happen if there is a str_replace match in the string. If there is no match for
the str_replace function, the glitch doesn't seem to appear. Thanks.
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=14819&edit=1