php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #9712 zend_is_callable clobbers values if using arrays as parameters for preg_replace
Submitted: 2001-03-12 14:37 UTC Modified: 2001-03-13 09:32 UTC
From: wez@php.net Assigned: andrei (profile)
Status: Closed Package: PCRE related
PHP Version: 4.0 Latest CVS (12/03/2001) OS: any
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: wez@php.net
New email:
PHP Version: OS:

 

 [2001-03-12 14:37 UTC] wez@php.net
$search = array("!one!e", "!two!e");
// can be any code below
$replace = array("1", "2");
preg_replace($search, $replace, $matches)

Error message will look sth like:
failed to execute regexp code "Array".

Further investigation shows that pcre uses the new zend_is_callable which returns "Array" for the array.

--Wez.

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-03-12 15:47 UTC] sniper@php.net
Ok, I'll check into this..

-Andrei

 [2001-03-13 09:32 UTC] andrei@php.net
Removed /F modifier from preg_replace(), created preg_replace_callback() function instead.
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Sat May 10 22:01:26 2025 UTC