2

所以我得到的是一个存储在数据库中的页面,其中包含一些内容,然后是 PHP 函数 load_users,然后是更多内容。我需要做的是在从数据库中检索到的字符串中搜索 PHP:FunctionName(Different on everypage),然后用返回的函数替换它。

可以说在我拥有的数据库中

    <h1>Online Users</h1>
    PHP:LoadOnline
    <p>Blah blah blah blah blah</p>

我希望能够搜索那个 PHP: 并获取它旁边的函数名,然后执行它并显示结果。这是可能的还是我必须想出别的办法?

4

1 回答 1

2

您可以使用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
);

这种方式就足够“懒惰”了。

于 2013-10-01T03:17:40.783 回答