所以我有以下代码:
$string = "<p>the year is currently <!--CODE return date('Y'); CODE-->, it's been a good year until I bent my iPhone</p>";
$string = preg_replace_callback('/<!--CODE(.*?)CODE-->/',
function($groups) { return eval($groups[1]); },
$string);
echo $string;
这样做取代了从HTML数据库条目中检索的特定HTML注释。它在使用return时工作正常但如果我回显或包含外部文件,那么内容将出现在字符串的开头之前,因此在上面的示例字符串中,内容将插入到p元素之前。
我有输出缓冲,所以我认为它可能是eval()。任何人都可以为我确认这一点,或建议我如何使用包含并将其插入预期的位置?
感谢您的意见。谢谢。