Фильтры Twig⚓︎
Фильтры Twig применяются к переменным Twig с помощью символа |
, за которым следует имя фильтра. Параметры можно передавать так же, как функции Twig, используя круглые скобки.
absolute_url
⚓︎
Принимает фрагмент HTML, содержащий атрибут src
или href
, который использует относительный путь. Преобразует строку пути в абсолютный формат URL, включая имя хоста.
array_unique
⚓︎
Оболочка для PHP array_unique()
, которая удаляет дубликаты из массива.
base32_encode
⚓︎
Выполняет кодировку base32 для переменной
base32_decode
⚓︎
Выполняет декодирование base32 на переменной
base64_encode
⚓︎
Выполняет кодировку base64 для переменной
base64_decode
⚓︎
Выполняет декодирование base64 на переменной
basename
⚓︎
Возвращает базовое имя пути.
camelize
⚓︎
Преобразует строку в формат "CamelCase"
chunk_split
⚓︎
Разбивает строку на более мелкие куски определенного размера.
contains
⚓︎
Определите, содержит ли конкретная строка другую строку
Преобразование значений⚓︎
PHP 7 получает более строгие проверки типов, а это означает, что передача значения неправильного типа теперь может вызвать исключение. Чтобы избежать этого, вы должны использовать фильтры, которые гарантируют, что значение, переданное методу, является допустимым:
string
⚓︎
Используйте |string
для приведения значения к строке.
int
⚓︎
Используйте |int
для приведения значения к целому числу.
bool
⚓︎
Используйте |bool
для приведения значения к логическому.
float
⚓︎
Используйте |float
для приведения значения к числу с плавающей запятой.
array
⚓︎
Используйте |array
для приведения значения к массиву.
defined
⚓︎
Иногда вы хотите проверить, определена ли какая-либо переменная, а если нет, укажите значение по умолчанию. Например:
При этом переменная header_image_width
будет установлена в значение 900
, если она не определена в заголовке страницы.
dirname
⚓︎
Вернуть имя каталога пути.
ends_with
⚓︎
Берет иголку и стог сена и определяет, заканчивается ли стог иглой. Также теперь работает с массивом игл и будет возвращать true
, если любой стог сена заканчивается иглой.
fieldName
⚓︎
Фильтрация имени поля путём замены записи через точку на запись массива
get_type
⚓︎
Получает тип переменной:
humanize
⚓︎
Преобразует строку в более удобный для чтения формат.
hyphenize
⚓︎
Преобразует строку в версию с дефисом.
json_decode
⚓︎
Вы можете декодировать JSON, просто применив этот фильтр:
ksort
⚓︎
Сортировать карту массива по каждому ключу
array|ksort
{% set ritems = {'orange':1, 'apple':2, 'peach':3}|ksort %}
{% for key, value in ritems %}{{ key }}:{{ value }}, {% endfor %}
ltrim
⚓︎
Удаляет пробелы в начале строки. Он также может удалить другие символы, с помощью маски (см. https://php.net/manual/ru/function.ltrim.php).
markdown
⚓︎
Возьмите произвольную строку, содержащую разметку, и конвертируйте её в HTML, используя парсер Markdown Grav. Необязательный boolean
-параметр:
true
(по умолчанию): обрабатывать как блок (текстовый режим, содержимое будет заключено в теги<p>
)false
: обрабатывать как строку (содержимое не будет обернуто никакими тегами)
<div class="div">
{{ 'Абзац с **markdown** и [ссылкой](http://www.cnn.com)'|markdown }}
</div>
<p class="paragraph">{{'Строка с **markdown** и [ссылкой](http://www.cnn.com)'|markdown(false) }}</p>
md5
⚓︎
Создает md5 хэш для строки
modulus
⚓︎
Выполняет ту же функциональность, что и символ Modulus %
в PHP. Он работает с числом, передавая в числовом делителе и необязательный массив элементов для выбора.
monthize
⚓︎
Преобразовывает целое число дней в число месяцев
nicecron
⚓︎
Получает читаемый человеком выходной сигнал для синтаксиса cron
nicefilesize
⚓︎
Выводит размер файла в удобочитаемом для человека формате:
nicenumber
⚓︎
Вывод числа в удобочитаемом для человека формате красивых чисел:
nicetime
⚓︎
Вывод даты в удобочитаемом для человека формате времени:
Первый аргумент указывает, следует ли использовать описание даты в полном формате. По умолчанию это true
.
Вы можете указать второй аргумент false
, если хотите удалить относительный дескриптор времени (например, «назад» или «с этого момента» на вашем языке) из результата.
of_type
⚓︎
Проверяет тип переменной на параметр:
ordinalize
⚓︎
Добавляет порядковый номер к целому числу (например, 1-е, 2-е, 3-е, 4-е):
pad
⚓︎
Заполняет строку до определенной длины другим символом. Это обёртка для PHP-функции str_pad().
pluralize
⚓︎
Преобразовывает строку в английскую множественную версию
pluralize
также принимает необязательный числовой параметр, который можно ввести, если заранее неизвестно, на сколько элементов будет ссылаться существительное. Значение по умолчанию равно 2, поэтому при опущении будет указана форма множественного числа. Например:
print_r
⚓︎
Печатает читабельную информацию о переменной
randomize
⚓︎
Рандомизирует предоставленный список. Если значение задано в качестве параметра, оно пропустит эти значения и сохранит их в порядке.
{% set ritems = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten']|randomize(2) %}
{% for ritem in ritems %}{{ ritem }}, {% endfor %}
Array
(
[0] => one
[1] => two
[2] => three
[3] => eight
[4] => seven
[5] => four
[6] => five
[7] => six
[8] => ten
[9] => nine
)
regex_replace
⚓︎
Полезная оболочка для PHP preg_replace() метод, вы можете выполнять сложные замены регулярных выражений в тексте с помощью этого фильтра:
{{ 'The quick brown fox jumps over the lazy dog.'|regex_replace(['/quick/','/brown/','/fox/','/dog/'], ['slow','black','bear','turtle']) }}
По возможности используйте разделитель ~
вместо /
. В противном случае вам, скорее всего, придется удвоить определённые символы. Например, ~\/\#.*~~, а не
'/\/\#.*/'`, что более соответствует PCRE-синтаксису, используемому PHP.
rtrim
⚓︎
Удаляет пробелы в конце строки. Он также может удалить другие символы, с использованием маски (см. https://php.net/manual/ru/function.rtrim.php).
singularize
⚓︎
Преобразует строку в английскую единственную версию
safe_email
⚓︎
Фильтр безопасной почты преобразует адрес электронной почты в символы ASCII, что затрудняет распознавание и захват спам-ботов.
Пример использования со ссылкой mailto
:
Сначала вы можете и не заметить разницы, но изучение исходного текста страницы (не используя Инструменты разработчика браузера, фактического исходного текста страницы) выявит кодировку, лежащую в основе символов.
sort_by_key
⚓︎
Можно сортировать массив по определенному ключу
{% set people = [{'email':'fred@yahoo.com', 'id':34}, {'email':'tim@exchange.com', 'id':21}, {'email':'john@apple.com', 'id':2}]|sort_by_key('id') %}
{% for person in people %}{{ person.email }}:{{ person.id }}, {% endfor %}
starts_with
⚓︎
Берет иглу и стог сена и определяет, начинается ли стог сена с иглы. Также теперь работает с массивом игл и вернет true
, если ни стог сена начинается с иглы.
titleize
⚓︎
Преобразует строку в формат «Заголовок»
t
⚓︎
Переводит строку на текущий язык
Предполагается, что на вашем сайте переведены эти языковые строки и включена поддержка нескольких языков. Пожалуйста, обратитесь к документации для получения более подробной информации.
tu
⚓︎
Переводит строку на текущий язык, установленный в пользовательских настройках интерфейса администратора.
При этом используется языковое поле, установленное в пользовательском yaml.
ta
⚓︎
Переводит массив на язык с помощью фильтра |ta
. См. Подробный пример в документации.
tl
⚓︎
Переводит строку на определённый язык. Для получения более подробной информации ознакомьтесь с документацией.
truncate
⚓︎
Вы можете легко создать сокращенную, усеченную версию строки, используя этот фильтр. Единственное обязательное поле - это количество символов, но есть и другие параметры:
Просто обрезается до 5 символов.
Фильтр |raw
следует использовать с элементом заполнения по умолчанию …
(многоточие), чтобы он отображался с автоматическим экранированием Twig
Обрезается до ближайшего конца предложения после 5 символов.
Вы также можете обрезать текст HTML, но сначала следует использовать фильтр |striptags
, чтобы удалить любое форматирование HTML, которое может быть нарушено, если вы остановитесь между тегами:
safe_truncate
⚓︎
Используйте |safe_truncate
для обрезки текста по количеству символов, с сохранением полных слов.
truncate_html
⚓︎
Используйте |truncate_html
для обрезки HTML по количеству символов, без сохранения полных слов.
safe_truncate_html
⚓︎
Используйте |safe_truncate_html
для обрезки HTML по количеству символов, с сохранением полных слов.
underscorize
⚓︎
Преобразует строку в формат «under_scored»
yaml_encode
⚓︎
Дамп/кодирование переменной в синтаксис YAML
yaml_decode
⚓︎
Декодирование/парсинг переменной из синтаксиса YAML