2015-04-03 55 views
2

我试图将描述,这是从我的数据库中的字符串转换为HTML。我用{{ projet.description }}得到了描述,但似乎在JavaScript中,“描述”会在我的脚本中导致一个错误...因此,我创建了一个带有我的描述的div,使其不可见,并通过innerHTML获得。从树枝模板数据库的Unescape HTML字符串

嫩枝代码

<div id="desc">{{ projet.description }}</div> 
    <div> 
     <script type="text/javascript"> 
      var desc = document.getElementById("desc").innerHTML|e('js')|raw; 
      document.write(desc); 
     </script> 
    </div> 

CSS

#descr { 
    display:none; 
} 

但现在,document.write()仍返回像 “<p><em>POKEMON</em></p>” 的字符串。不过,我想用HTML。

+0

http://stackoverflow.com/a/814649/1524085也许这将有助于 – 2015-04-03 20:23:42

回答

2

我几乎可以肯定的是HTML中逃脱,所以尝试一下:

<div id="desc">{{ projet.description|raw }}</div> 

参见树枝文档原料过滤器:raw

原始过滤器标记值作为“安全”,这意味着在启用了自动转义的 环境中,如果raw是应用到的最后一个过滤器,则此变量将不会被 转义

另外:

var desc = document.getElementById("desc").innerHTML|e('js')|raw; 

上面代码段上没有枝杈有效的,因为它不被有效的分隔符,如“{{ }}”或“{% %}”包围。

+0

Omg感谢您的帮助!有用 !我知道,当我查看src代码时,这是因为HTML,它不是HTML。 – david 2015-04-03 21:02:07