为什么在Symfony 1.4中无法正确呈现HTML标记?

时间:2012-11-01 10:33:31

标签: php html symfony1 escaping

我在这个模型中有以下方法,它读取文件并返回其内容

public function getTest() {
  return file_get_contents($filePath);
}

在模板中我只输出这样的结果(在此调用之前我没有在$ obj实例上执行任何其他操作)

<?php echo $obj->getTest() ?>

但内容不会呈现为推动HTML。它显示BR标记而不是创建空行。

以下是有关转义的settings.yml:

all:
  .settings:
    escaping_strategy: false           
    escaping_method:   ESC_SPECIALCHARS

1 个答案:

答案 0 :(得分:1)

我几乎没有问题:

  • 更改settings.yml后,您是否清理了缓存?
  • 您的settings.yml中只有escaping_strategy的一个定义吗?没有其他环境的规范(如dev:,prod :)? (告诉我们你的完整settings.yml)

另一方面,建议不要禁用转义。我通常做的是启用它,但在某些时候,当我确定100%的内容来自安全的地方(文件或数据库内容不能被用户更改)时,我通过在本地禁用转义策略来显示它:

<?php echo sfOutputEscaper::unescape($obj->getTest()) ?>