note 90609 deleted from function.eval by danbrown
| From: | danbrown@php.net | Date: | Thu, 30 Apr 2009 15:22:28 +0000 |
| Subject: | note 90609 deleted from function.eval by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-154044@lists.php.net to get a copy of this message | ||
Note Submitter: admin at jessed dot nl
----
<?php
//func_evalecho.php
function evalecho($aPHP){
$aNormalSTR=preg_split('/<\?php(.*?)\?>/i', $aPHP, -1, PREG_SPLIT_OFFSET_CAPTURE);
for($i = 0; $i < count($aNormalSTR); $i++){
echo $aNormalSTR[$i][0];
if(count($aNormalSTR) > 1){
$aFirstPHPPointer = ($aNormalSTR[$i][1] + strlen($aNormalSTR[$i][0]));
$aSecondPHPPointer = ($aNormalSTR[($i+1)][1] - ($aNormalSTR[$i][1] +
strlen($aNormalSTR[$i][0])));
$a2EXE=substr($aPHP, $aFirstPHPPointer, $aSecondPHPPointer);
$a2EXE=str_replace('<?php','',$a2EXE);
$a2EXE=str_replace('?>','',$a2EXE);
eval($a2EXE);
$php_matches[]=$a2EXE;
}
}
return $php_matches;
}
evalecho('2 + 5 = <?php echo (2+5); ?> <br/>2 + 4 = <?php echo (2+4); ?>
& <?php echo $_GET["test"]; for($i=0;$i<40;$i++){ echo
"<br/>test!"; } ?>');
?>