|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2000-12-29 04:53 UTC] simon dot southwood at sportal dot net
function image($arrayRef)
{
$arrayRef += 5;
return $arrayRef;
}
$html="<%image1%>some junk in here<%image2%>even more junk in here<%image3%>and some more for good measure<%image4%>
print(image("34"));
$pat="%image([0-9])%";
$rep="fdg".image("\\1");
$html=ereg_replace($pat, $rep, $html);
/*
the function works fine if "$arrayRef += 5;" is commented out (it returns exactly whatever "\\1" is.
it also works fine when called with either a string or an integer as argument, called outside the regexp function.
however, inside the regexp it always returns 5.
i dunno if this is a bug, if not then i do apologise, and i'll find another way of doing this.
*/
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Oct 20 20:00:01 2025 UTC |
This is a user error: # 34 + 5 = 39 print(image("34")); $pat="%image([0-9])%"; # "fdg" . ( "\\1" + 5 ) ... i. e. "fdg5" $rep="fdg".image("\\1"); # ereg_replace( "%image([0-9])%" , "fdg5" , $html ) $html=ereg_replace($pat, $rep, $html);