2013-06-14 4 views
0

Я работаю в приложении symfony, и мне нужно использовать функцию, подобную функции addlashes в php, но я не могу найти что-либо подобное в twig? есть ли способ сделать этолюбая функция {addslashes} в веточке?

+3

Если вы не добавили фильтр 'raw' и несколько исключений, Twig выйдет из вывода по умолчанию. Что ты пытаешься сделать? –

+0

Я пытаюсь добавить antislash для любого сингла в моей строке –

ответ

3

Вы можете зарегистрировать addslashes функции РНР в качестве фильтра Twig, выполнив:

$twig = new Twig_Environment($loader); 
$twig->addFilter(new Twig_SimpleFilter('addslashes', 'addslashes')); 

, а затем в шаблоне веточки использовать его, выполнив: {{ var|addslashes }}.

Если включено автоматическое экранирование, то после его выключения ваш фильтр будет экранирован. Если автоматическое экранирование вызывает проблемы, взгляните на ссылку «автоматическое экранирование» ниже и посмотрите, как ее отключить. Это должно быть само собой разумеющимся, но если вы отключите автоматическое экранирование, тогда вы несете ответственность за дезинфекцию данных до их выхода.

Ресурсы:

  1. http://twig.sensiolabs.org/doc/advanced.html#automatic-escaping
  2. http://twig.sensiolabs.org/doc/advanced.html#filters
0

Вот ответ

Если вы пытаетесь addslashes в HTML код попробуйте

{{ my_variable|e('html') }} 

Если вы пытаетесь addslashes в JS код попробуйте

{{ my_variable|e('js') }} 

Если ответы работает для вас, то оцените ответ.

Смежные вопросы