如何在twig模板中显示包含带引号的HTML的字符串?

时间:2015-12-27 13:54:29

标签: html symfony twig

如何在twig模板中显示包含带引号的HTML的字符串(变量imgStr)?

字符串是:

 <img src="{{ asset( 'bundles/meeting/images/uploads/c986889a9912f69f6324d5c79c2d072119411384.png') }}" height="500" />

1)如果我使用原始文件管理器<br> {{ imgStr|raw }} <br>我得到空方块而不是图像。我相信原因是&#39;&#39; /&#34;&#34;字符串中的引号。

2)如何使用函数template_from_string?根据官方文档,我必须在创建Twig环境时明确添加Twig_Extension_StringLoader扩展名。但我不明白如何在Symfony2中做到这一点。我也没有在Vendor/twig/extensions中找到此功能。

1 个答案:

答案 0 :(得分:2)

您可以尝试加载template_from_string扩展名,将其声明为服务。在这里你有yml格式:

$arguments = [];
while($n < count($site)) {
    $siten = $site[$n];
    $sql = "SELECT url FROM `".$$siten->domain."`";
    $result = $con->query($sql);
    while($row = $result->fetch_array()){
        $arguments[] = $row['url'];
    }
}

// $result contains the return value of the array_sequence_merge function call
$result = call_user_func_array('array_sequence_merge', $arguments);

这样扩展就会在编译器传递中加载,然后就可以像这样使用它了:

myproject.load_template_from_string:
  class: Twig_Extension_StringLoader
  tags:
    - { name: twig.extension }

注意:我必须转义变量,因为它在同一个模板上声明了内联,但它应该可以正常工作,并且变量传递给模板。