Php 将文本替换为类函数
我遇到了一个问题,我想我的编程方式有什么解决方案吗。我希望每个人都能理解这个问题,并能提供帮助 我有html模板,比如说:Php 将文本替换为类函数,php,Php,我遇到了一个问题,我想我的编程方式有什么解决方案吗。我希望每个人都能理解这个问题,并能提供帮助 我有html模板,比如说: <title>{Content~title}</title> </head> <body> {Content~Display("testas")} </body> $this->objects[$class] = new $class(); // in this case: Content clas
<title>{Content~title}</title>
</head>
<body>
{Content~Display("testas")}
</body>
$this->objects[$class] = new $class(); // in this case: Content class
现在,我有了加载类并放入数组的脚本,如下所示:
<title>{Content~title}</title>
</head>
<body>
{Content~Display("testas")}
</body>
$this->objects[$class] = new $class(); // in this case: Content class
之后,我试图通过以下代码替换标记{Content~title}和{Content~Display(“testas”)}:
$replaceContent = $this->objects[$class_name];
$content = str_replace($current,$replaceContent->{$key},$content); // key- Display("testas")
使用title(因为它是class属性)效果很好,但使用function时我出现了错误:
Notice: Undefined property: Content::$Display("testas") ..
但是,如果我尝试使用以下方法:
echo $replaceContent->Display("TEST");
工作很好。。。你知道如何替换我的标签来处理类中的内容吗?你试图访问类中不存在的字段[如错误所述] 当您有一个函数时,您必须调用它:
$replaceContent->{$key}( $content )
这将调用您的
Display()
函数,顺便说一句,它应该用小写字母命名,并且应该做的不仅仅是重新调整它的参数。您不应该将整个部分放入键
变量中。您应该有两个变量,例如:
$functionName = 'Display';
$functionArg = 'testas';
除此之外:
$replaceContent->$functionName($functionArg)
哼它起作用了,但问题是。。我不能使用参数etc:Display(“123456”)。。显示:致命错误:调用未定义的方法内容::显示(“123456”)()…哼哼。。谢谢你们。。你的两种解决方案都是我问题的答案,所以我不知道我应该为谁单击“解决”。。对不起:/