php - 替换 PHP :FunctionName with the PHP function return

标签 php string function replace

所以我得到的是一个存储在数据库中的页面,其中包含一些内容,然后是 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/

相关文章:

javascript - WordPress admin-ajax.php 加载失败

mysql - 在 MySQL 中,有没有办法在对列进行排序之前对其进行修改?

c++ - 用空格替换 std::string 中的特定字符

C# 字符串操作生成字符串列表

r - 在 R 中为引用类创建初始化方法

php - 链式支付/直接结账组合

php - php 如何去掉字符串中的空格

C++ 成员函数

function - Matlab:调用用户定义的函数

java - 通过 Post Android 发送数据到 PHP