du060334 2017-06-27 19:42
浏览 40

Symfony 2中的自定义autoescaper

I need to add to Symfony 2 default autoescaper an ability to escape double curly brackets {{ and }}. So it should work without any modifications inside twig templates.

I've tried to add custom escaper as

$twig->getExtension('Twig_Extension_Core')->setEscaper('angular-html', $escaper);

and replace default escaping strategy "html" with custom "angular-html"

class AngularEscapingStrategy
{
    public static function guess($name)
    {
        $strategy = \Twig_FileExtensionEscapingStrategy::guess($name);
        return ($strategy === 'html') ? 'angular-html' : $strategy;
    }
}

So it works, but twig built-in functions like form_row or nl2br require escaper name to be equal 'html' to work properly:

new Twig_SimpleFilter('nl2br', 'nl2br', array('pre_escape' => 'html', 'is_safe' => array('html'))),

Is there any other way to extend default "html" escaper and keep its name?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 虚幻5 UE美术毛发渲染
    • ¥15 CVRP 图论 物流运输优化
    • ¥15 Tableau online 嵌入ppt失败
    • ¥100 支付宝网页转账系统不识别账号
    • ¥15 基于单片机的靶位控制系统
    • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
    • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
    • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
    • ¥15 手机接入宽带网线,如何释放宽带全部速度
    • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测