有没有办法将à,è,é,ë,...转换成htmláéèä

时间:2017-07-13 22:43:14

标签: twig

有一种方法可以将à,è,é,ë, ...转换为html á é è ä ...吗? (不是相反!)

修改

感谢docu,以下几乎解决了我的需求。我只需要定义Myapp\Twig\MyappExtension.php

<?php

namespace Myapp\Twig;

class MyappExtension extends \Twig_Extension
{
    public function getFilters()
    {
        return array(
            new \Twig_SimpleFilter('htmlentities', array($this, 'htmlentitiesFilter')),
        );
    }

    public function htmlentitiesFilter($string)
    {
         $hstring =  htmlentities($string);
         return $hstring;
    }
}
?>

并在service.yml

services:
    myapp.twig.myapp_extension:
        class: Myapp\Twig\MyappExtension
        tags:
            - { name: twig.extension }

{{ string|htmlentities|raw}}我得到了我想要的东西。

轻微的烦恼,我没有看到如何摆脱raw(没有我&amp;agrave;而不是&agrave;)。

1 个答案:

答案 0 :(得分:0)

您可以添加自定义过滤器

$filter = new Twig_Filter('htmlentities', function ($string) {
    return htmlentities($string);
});

然后添加它:

$twig = new Twig_Environment($loader);
$twig->addFilter($filter);

最后,将其用作:

{{ 'Twig'|htmlentities }}