From: [EMAIL PROTECTED] Operating system: Linux PHP version: 4.0.6 PHP Bug Type: Strings related Bug description: str_replace used with serialize
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 bug report at: http://bugs.php.net/?id=14819&edit=1 -- 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]