树枝条带标签和 html 特殊字符

2022-01-22 00:00:00 special-characters symfony html strip twig

我正在使用 twig 来呈现视图,并且正在使用 striptags 过滤器来删除 html 标签.但是,html 特殊字符现在呈现为文本,因为整个元素都被 "" 包围.如何在仍然使用 striptags 功能的同时去除特殊字符或渲染它们?

I am using twig to render a view and I am using the striptags filter to remove html tags. However, html special chars are now rendered as text as the whole element is surrounded by "". How can I either strip special chars or render them, while still using the striptags function ?

例子:

{{ organization.content|striptags(" >")|truncate(200, '...') }}

{{ organization.content|striptags|truncate(200, '...') }}

输出:

"QUI SOMMES NOUS ? > NOS LOCAUXNOS LOCAUXDepuis 1995,  Ce lieu chargé d’histoire et de tradition s’inscrit dans les valeurs"

推荐答案

如果它可以帮助别人,这是我的解决方案

If it could help someone else, here is my solution

{{ organization.content|striptags|convert_encoding('UTF-8', 'HTML-ENTITIES') }}

您还可以添加修剪过滤器以删除前后的空格.然后,您截断或切片您的组织内容.

You can also add a trim filter to remove spaces before and after. And then, you truncate or slice your organization.content

2017 年 11 月编辑

如果你想保持 " " 换行符与截断相结合,你可以这样做

If you want to keep the " " break lines combined with a truncate, you can do

{{ organization.content|striptags|truncate(140, true, '...')|raw|nl2br }}

相关文章