#25042 [Opn->Bgs]: pattern emtpy and replacement array

From: Date: Mon, 11 Aug 2003 16:45:32 +0000
Subject: #25042 [Opn->Bgs]: pattern emtpy and replacement array
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-45737@lists.php.net to get a copy of this message
ID: 25042 Updated by: sniper@php.net Reported By: michiel at tincan dot co dot uk -Status: Open +Status: Bogus Bug Type: PCRE related Operating System: Linux PHP Version: 4.3.2 New Comment: Try increasing your error_reporting level: Warning: preg_replace(): Parameter mismatch, pattern is a string while replacement in an array. Previous Comments: ------------------------------------------------------------------------ [2003-08-11 09:44:55] michiel at tincan dot co dot uk Description: ------------ When upgrading to 4.3.2 this started to happen: whenever I use $string = preg_replace("/\[$pattern\]/",$replacement,$string) and the $pattern is empty or does not exist, but the replacement is an array, my string is made empty. '. /configure' '--prefix= /usr /local' '--with-apxs= /usr /local /apache-1.3.27 /bin /apxs' '--with-config-file-path= /etc' '--with-mysql= /usr' '--with-ldap' '--enable-sysvshm=yes' '--enable-sysvsem=yes' '--with-gd= /usr' '--with-gettext' '--with-xml' '--with-imap' '--enable-sockets' '--enable-ftp' '--with-regex=system' '--enable-track-vars=yes' '--enable-force-cgi-redirect=yes' '--enable-memory-limit=yes' '--enable-debug=no' Register Globals is "on" Reproduce code: --------------- $data = array( "field1" => "somevalue", "field2" => array("hmm","whassup"), ); $html = '<b>[field1]</b> ,<h1>[field3]</h1>'; while (list($field,$fielddata) = each ($data)) { $html = preg_replace("/\[$field\]/",$fielddata,$html); } print $html; # will print nothing. however if you comment out the line "field2" etc above, it will print something Expected result: ---------------- output should be : <b>somevalue</b> , <h1>[field3]</h1> Actual result: -------------- no output, the string $html is empty ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=25042&edit=1

« previous php.bugs (#45737) next »