所以我得到的是一个存储在数据库中的页面,其中包含一些内容,然后是PHP函数load_users,然后是更多的内容。我需要做的是搜索从数据库中检索到的PHP字符串:FunctionName(每页不同),然后用函数return替换它。
让我们在数据库中说
<h1>Online Users</h1>
PHP:LoadOnline
<p>Blah blah blah blah blah</p>
我希望能够搜索该PHP:并在其旁边获取函数名称,然后执行它并显示结果。这是可能的,还是我不得不想出其他的东西?
答案 0 :(得分:1)
您可以使用preg_replace_callback。
function printSomeText()
{
echo 'text';
}
$template = "
<h1>Online Users</h1>
PHP:printSomeText sdf
<p>Blah blah blah blah blah</p>";
echo preg_replace_callback(
'/PHP\:([^\s]*)/', function ($matches)
{
$function = $matches[1];
ob_start();
$function();
$return = ob_get_contents();
ob_end_clean();
return $return;
}, $template
);
这种方式会“懒惰”。