12

文字列を HTML 出力にレンダリングする次のコードがあります。HTML のテキストをエスケープしないようにするにはどうすればよいですか?

$template = '{{ who }} bar';
$params = array('who' => "Foo's");

$twig = new \Twig_Environment(new \Twig_Loader_String);
var_dump($twig->render($template, $params));

出力:

string(14) "Foo's bar"

代わりにこれを出力するにはどうすればよいですか?

string(14) "Foo's bar"

'{{ who }} bar'に変更すると問題が解決することは理解してい'{{ who|raw }} bar'ますが、これはレンダリング段階で解決したいと考えています。すべてのテンプレートを変更したくありません。

4

1 に答える 1

16

Twig コードを調べたところ、これで問題なく動作することがわかりました。

$twig = new \Twig_Environment(new \Twig_Loader_String, array(
    'autoescape' => false
));
于 2012-12-21T12:38:23.510 に答える