From: springchun at 21cn dot com Operating system: linux PHP version: 4.3.1 PHP Bug Type: Unknown/Other Function Bug description: This is best php template
Description: ------------ This is best php template than Smarty,FastTemplate and PHPLIB Template; Is it add this function into php5.0.dll? please seen 'http://www.cqlc.net/document.txt'; function cqlctpl($file) { $fp=fopen($file,"r"); $msg="echo\"".str_replace("\"","\\\"",fread($fp,filesize($file)))."\";"; fclose($fp); $oldstr=array(0=>"/\{loop:([^\}]+)\}(.+)\{\/loop\}/si", 1=>"/\{logi:([^\}]+)\}(.+)\{\/logi\}/si", 2=>"/\{exec:([^\}]+)\}/si", 3=>"/(\{\*[^\*]+\*\})/si" ); $newstr=array(0=>"\";\\1{echo\"\\2\";}echo\"", 1=>"\";\\1{echo\"\\2\";}echo\"", 2=>"\";\\1;echo\"", 3=>"" ); return preg_replace($oldstr,$newstr,$msg); } Reproduce code: --------------- <? function cqlctpl($file) { $fp=fopen($file,"r"); $msg="echo\"".str_replace("\"","\\\"",fread($fp,filesize($file)))."\";"; fclose($fp); $oldstr=array(0=>"/\{loop:([^\}]+)\}(.+)\{\/loop\}/si", 1=>"/\{logi:([^\}]+)\}(.+)\{\/logi\}/si", 2=>"/\{exec:([^\}]+)\}/si", 3=>"/(\{\*[^\*]+\*\})/si" ); $newstr=array(0=>"\";\\1{echo\"\\2\";}echo\"", 1=>"\";\\1{echo\"\\2\";}echo\"", 2=>"\";\\1;echo\"", 3=>"" ); return preg_replace($oldstr,$newstr,$msg); } function test(){echo"<p>this is 2.tml ,welcome you";} $title="this is a tml"; $body="this out "; for($i=0;$i<10;$i++)$array[$i]="hello world $i"; eval(cqlctpl("1.txt")); Expected result: ---------------- this is a tml (1.tml) this out is hello world 0 this out is hello world 1 this out is hello world 2 this out is hello world 3 this out is hello world 4 this out is hello world 5 this out is hello world 6 6 is biger than 5 this out is hello world 7 7 is biger than 5 this out is hello world 8 8 is biger than 5 this out is hello world 9 9 is biger than 5 time is 1059193623 this is other tml(2.tml) this is 2.tml ,welcome you Actual result: -------------- this is a tml (1.tml) this out is hello world 0 this out is hello world 1 this out is hello world 2 this out is hello world 3 this out is hello world 4 this out is hello world 5 this out is hello world 6 6 is biger than 5 this out is hello world 7 7 is biger than 5 this out is hello world 8 8 is biger than 5 this out is hello world 9 9 is biger than 5 time is 1059193623 this is other tml(2.tml) this is 2.tml ,welcome you -- Edit bug report at http://bugs.php.net/?id=24818&edit=1 -- Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=24818&r=trysnapshot4 Try a CVS snapshot (php5): http://bugs.php.net/fix.php?id=24818&r=trysnapshot5 Fixed in CVS: http://bugs.php.net/fix.php?id=24818&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=24818&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=24818&r=needtrace Try newer version: http://bugs.php.net/fix.php?id=24818&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=24818&r=support Expected behavior: http://bugs.php.net/fix.php?id=24818&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=24818&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=24818&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=24818&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=24818&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=24818&r=dst IIS Stability: http://bugs.php.net/fix.php?id=24818&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=24818&r=gnused