1

我正在尝试将 HTML 标记的值转换为 PHP 变量。我下面的代码不起作用,{mytag} 的值为 21。

我有 {mytag} 作为 smarty 模板中的 HTML 钩子来从数据库中提取字段,所以我必须有 {mytag}。

计划是在一些数学中使用 db 中的 int,但由于 {mytag} 被视为一个对象,我必须将值放入另一个变量中。

$t = new stdClass;
$t->bat = "{mytag}";
$bar = $t->foo;
ob_start();
$b = var_export($bar, true);
echo $b;
$stdClass = ob_get_contents();
ob_end_clean();
$the_var = $stdClass;

当我检查输出时,我得到了名称,但没有得到值。

echo $the_var[0] 
//prints ' and not 2
echo $the_var[1] 
//prints { and not 1

如何让 $the_var 包含值 21?

4

1 回答 1

1

相当小的解决方案,但应该可以工作。

{php}
$the_var = "$this->get_template_vars('mytag')";
{/php}

来自聪明的文档

get_template_vars() — 返回分配的变量值
数组 get_template_vars(string varname);

于 2013-01-31T09:41:37.540 回答