所以我得到的是一个存储在数据库中的页面,其中包含一些内容,然后是 PHP 函数 load_users,然后是更多内容。我需要做的是搜索从数据库检索的字符串 PHP:FunctionName(Different on everypage),然后将其替换为函数返回。
假设在我的数据库中
<h1>Online Users</h1>
PHP:LoadOnline
<p>Blah blah blah blah blah</p>
我希望能够搜索该 PHP: 并获取其旁边的函数名称,然后执行它并显示结果。这是可能的还是我必须想出别的办法?
最佳答案
您可以使用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
);
这样就够“懒”了。
关于php - 替换 PHP :FunctionName with the PHP function return,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19107331/