symfony 如何呈现没有特殊字符的变量

juud5qan  于 2023-03-09  发布在  其他
关注(0)|答案(3)|浏览(125)

我们使用这样一个变量来呈现没有特殊字符的文本,如HELP & SUPPORT
{{变量|渲染|条形标签|配平|转换编码('UTF-8','HTML实体')}}
从Drupal 8升级到9后,我们收到了如下错误,
注意:iconv():字符集错误,在twig_convert_encoding()中不允许从HTML-ENTITIES' to UTF-8'转换(/var/www/html/stg. flowbusiness. co/vendor/twig/twig/src/Extension/CoreExtension.php的第1009行)
使用convert_encoding函数时变量未显示。
所以,任何建议,以显示没有特殊字符的文本drupal 9.

58wvjzkj

58wvjzkj1#

twig中的convert_encoding()函数用于将字符串从一种编码转换为另一种编码;HTML-ENTITIES不是编码;这就是引发错误的原因。https://twig.symfony.com/doc/2.x/filters/convert_encoding.html
因为它没有做你要用它做的事情,你应该把那部分去掉。
如果你想让html实体被正确地呈现,你也应该移除striptags部分。

rsaldnfx

rsaldnfx2#

使用|raw过滤器通常会根据需要呈现字符。
此细枝渲染标签

{{ variable|render|striptags|trim|convert_encoding('UTF-8', 'HTML-ENTITIES') }}

会变成

{{ variable|raw }}

虽然**&**char是一个HTML实体,但它将正确地呈现为原始数据,而不显示特殊字符。

7cjasjjr

7cjasjjr3#

请注意,如果变量已经用UTF-8编码,并且不包含任何HTML实体,则可以一起删除convert_encoding()和html_entity_decode()过滤器,如下所示:{{变量|渲染|条形标签|修整}}

相关问题