В чем разница между!,% И @ в токенах замены?

15

Я использую модуль сообщений на Drupal 7. Для замены токенов текст справки гласит:

Разделенный запятыми список токенов замены, например% title или! Url, из которых используется текст сообщения. Каждый заменяющий токен должен начинаться с одного из специальных символов «@», «%» или «!». Этот символ управляет используемым методом очистки, аналогично функции t ().

В чем разница между%,! И @? Существуют ли стандарты относительно того, когда мне следует использовать каждый символ?

Патрик Кенни
источник

Ответы:

20

Из format_string()документов:

  • @variable : переход к HTML с использованием check_plain(). Используйте это как выбор по умолчанию для всего, что отображается на странице сайта.
  • % variable : экранируется в HTML и форматируется с использованием drupal_placeholder(), что позволяет отображать выделенный текст.
  • ! variable : вставляется как есть, без очистки и форматирования. Используйте это только для текста, который уже подготовлен для отображения HTML (например, предоставленный пользователем текст, который уже был пройден check_plain()ранее или, как ожидается, будет содержать некоторые ограниченные теги HTML и уже был пройден filter_xss()ранее).
Клайв
источник