Php 模板类无法工作

Php 模板类无法工作,php,class,templates,str-replace,Php,Class,Templates,Str Replace,我试图修复我的模板类,但它不起作用 不起作用的是,[@title]没有被替换 代码: 希望有人能帮助我,提前谢谢。$是php变量的开始字符。 简单地逃避它 $tagToReplace = "[@\$key]"; $output = str_replace($tagToReplace, $value, $output); //编辑 我测试了代码。在我的测试环境中,一切正常 $test = new Tpl(__DIR__."/test.txt"); $test->set("test", "h

我试图修复我的模板类,但它不起作用

不起作用的是,[@title]没有被替换

代码:


希望有人能帮助我,提前谢谢。

$是php变量的开始字符。 简单地逃避它

$tagToReplace = "[@\$key]";
$output = str_replace($tagToReplace, $value, $output);
//编辑
我测试了代码。在我的测试环境中,一切正常

$test = new Tpl(__DIR__."/test.txt");
$test->set("test", "huhu123");
$test->set("asdf", "xcv");
var_dump($test->output());
测试文件:

kjasdfgkashf [@test]
输出:

string(20) "kjasdfgkashf huhu123" 

$key
需要解释,因此转义它不会解决问题。你是对的,编辑了我的答案并添加了一个测试用例。string(6038)“这就是它作为输出给我的。我做错了什么?$test=newtemplate(DIR./me.tpl”);$test->set(“title”,“huhu123”);$test->set(“asdf”,“xcv”);var_dump($test->->输出())?>什么是
$tagToReplace
?它真的是
[@title]
?其次,
$output
的值是什么?模板文件源代码是什么?根据文档,它在失败时返回
false
。是的,它确实是[@title],因为我在另一个文件中这样做了:include('class/tpl.class.php'))$me=新模板(“me.tpl”);$me->set(“用户名”、“布兰登”);$me->set(“标题”、“测试”);echo$me->output();
string(20) "kjasdfgkashf huhu123"