从字符串创建方法调用

斯蒂夫

目前,我正在寻找一种从String调用方法的方法。我的字符串看起来像这样:

"Hello, here's the Link you look for: [[Link,internLink,Go,Login]]."

我想替换[[Link,internLink,Go,Login]]为:

K :: gI('Link')->internLink('Go', 'Login');

有办法吗?原因是,我在数据库中保存了各种文本,因此需要在这些文本中调用方法。同样,只有第一个参数(这里:Link和internLink)始终显示为类和方法。在这两个参数之后,根据方法的不同,可能有0-XXX个参数。我太紧张了。

编辑:我试图与preg_replace一起工作,但如有必要,我愿意采用一种全新的方式!

维克多·纳扎罗夫(Victor Nazarov)
<?php
$subject = "Hello, here's the Link you look for: [[Link,internLink,Go,Login]].";

$result = preg_replace_callback(
        '/\[\[(.*?)]\]/',
        function ($matches) {
            $args = explode(",", $matches[1]);
            $args = array_map("trim", $args);

            $x1 = !empty($args[0])?$args[0]:"default";
            $x2 = isset($args[1])?$args[1]:"default";
            $x3 = "";

            $args = array_slice($args, 2);
            if (count($args) > 0) {
                $x3 = "'" . implode("', '", $args) . "'";
            }
            return "K :: gI('$x1')->$x2($x3);";
        },
        $subject
    );

echo "$result\n";

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从字符串创建类的实例和调用方法

来自分类Dev

通过创建新的字符串对象来调用字符串的方法

来自分类Dev

从字符串文本的JOption调用方法?

来自分类Dev

从字符串调用动态方法

来自分类Dev

以字符串格式调用类方法

来自分类Dev

从字符串文本的JOption调用方法?

来自分类Dev

使用字符串调用方法

来自分类Dev

如何在不使用eval的情况下从字符串创建方法调用

来自分类Dev

飞镖:从字符串创建方法

来自分类Dev

如何创建字符串方法

来自分类Dev

创建字符串对象的最佳方法

来自分类Dev

从字符串创建类实例并调用构造函数

来自分类Dev

创建一个调用变量的字符串

来自分类Dev

根据字符串调用和创建新列

来自分类Dev

在Go中创建相同字符的字符串的最快方法

来自分类Dev

设置对返回字符串的方法的Moq Mock <Interface>调用

来自分类Dev

使用字符串参数调用AndroidJni静态方法

来自分类Dev

用字符串和input()调用方法

来自分类Dev

使用字符串调用Java中的方法

来自分类Dev

调用静态JNI方法从C ++返回字符串

来自分类Dev

C#使用字符串调用方法

来自分类Dev

通过变量(字符串)调用对象和方法

来自分类Dev

对字符串文字调用方法(JAVA)

来自分类Dev

如何从格式字符串中调用对象的方法?(蟒蛇)

来自分类Dev

Javascript反射,使用字符串调用方法

来自分类Dev

从字符串动态调用类的静态方法

来自分类Dev

使用字符串调用Java中的方法

来自分类Dev

通过变量(字符串)调用对象和方法

来自分类Dev

用C ++中的字符串调用C#方法