Twig 的Filters学习_PHP教程
目前支持的过滤器包括
date format replace number_format url_encode json_encode convert_encoding title capitalize nl2br upper lower striptags join reverse length sort default keys escape raw merge
date过滤器
1.1版本新增时区支持,1.5版本增加了默认的日期格式。
这个过滤器和php的date函数无限类似
{{ post.published_at|date("m/d/Y") }}
{{ "now"|date("m/d/Y") }}
{{ post.published_at|date("m/d/Y") }}
{{ "now"|date("m/d/Y") }}
如果想在格式里输出字母,需要在每个字母前输入\\
{{ post.published_at|date("F jS \\a\\t g:ia") }}
{{ post.published_at|date("F jS \\a\\t g:ia") }}注意:经过我的测试,不能输入中文字符,这样写不行。。 {{ 'now'|date("F jS \\上\\午 g:ia") }}
你可以指定时区
{{ post.published_at|date("m/d/Y", "Europe/Paris") }}
{{ post.published_at|date("m/d/Y", "Europe/Paris") }}
如果你提供的格式化字符串是不支持,会自动使用默认格式 (F j, Y H:i)你可以用代码修改这个默认格式
$twig = new Twig_Environment($loader);
$twig->getExtension('core')->setDateFormat('d/m/Y', '%d days');
$twig = new Twig_Environment($loader);
$twig->getExtension('core')->setDateFormat('d/m/Y', '%d days');
format过滤器
和php的printf函数一样,用来替换占位符
{{ "I like %s and %s."|format(foo, "bar") }}
{# returns I like foo and bar
if the foo parameter equals to the foo string. #}
{{ "I like %s and %s."|format(foo, "bar") }}
{# returns I like foo and bar
if the foo parameter equals to the foo string. #}
replace过滤器
这个自己看吧{{ "I like %this% and %that%."|replace({'%this%': foo, '%that%': "bar"}) }}
{# returns I like foo and bar
if the foo parameter equals to the foo string. #}
{{ "I like %this% and %that%."|replace({'%this%': foo, '%that%': "bar"}) }}
{# returns I like foo and bar
if the foo parameter equals to the foo string. #}
number_format过滤器
1.5版本新增过滤器。
他是php函数 number_format的一个包装 直接见函数参考吧
{{ 200.35|number_format }}
{{ 200.35|number_format }}另外就是可以用php来修改默认的格式
$twig = new Twig_Environment($loader);
$twig->getExtension('core')->setNumberFormat(3, ',', '.');
$twig = new Twig_Environment($loader);
$twig->getExtension('core')->setNumberFormat(3, ',', '.');
url_encode过滤器
这个直接使用 urlencode函数
{{ data|url_encode() }}
{{ data|url_encode() }}
json_encode过滤器
直接使用json_encode函数
{{ data|json_encode() }}
{{ data|json_encode() }}
convert_encoding过滤器
1.4版本新加内容
转换一个字符串,第一个参数是输出编码,第二个参数是输入编码
本函数依赖于iconv 或者mbstring 所以至少需要安装一个
{{ data|convert_encoding('UTF-8', 'iso-2022-jp') }}
{{ data|convert_encoding('UTF-8', 'iso-2022-jp') }}
title过滤器
会让每个单词的首字母大写。
{{ 'my first car'|title }}
{# outputs 'My First Car' #}
{{ 'my first car'|title }}
{# outputs 'My First Car' #}
capitalize过滤器
会把字符串变成 首字母大写,其余字母小写的格式
{{ 'my first car'|capitalize }}
{# outputs 'My first car' #}
{{ 'my first car'|capitalize }}
{# outputs 'My first car' #}
nl2br过滤器
会把换行符\n 变成
{{ "I like Twig.\nYou will like it too."|nl2br }}
{# outputs
I like Twig.
You will like it too.
#}
{{ "I like Twig.\nYou will like it too."|nl2br }}
{# outputs
I like Twig.
You will like it too.
#}
upper lower 过滤器
让字符串变大小写
striptags过滤器
直接使用的是strip_tags函数
join过滤器
这个我很喜欢,跟python的join一样,用来将一个数组的内容连接起来,并用指定的字符串分割。
{{ [1, 2, 3]|join }}
{# returns 123 #}
{{ [1, 2, 3]|join('|') }}
{# returns 1|2|3 #}
{{ [1, 2, 3]|join }}
{# returns 123 #}
{{ [1, 2, 3]|join('|') }}
{# returns 1|2|3 #}
reverse 过滤器
反转一个数组,或者是一个实现了Iterator接口的对象
{% for use in users|reverse %}
...
{% endfor %}
{% for use in users|reverse %}
...
{% endfor %}
length过滤器
返回一个数组或者字符串的长度
{% if users|length > 10 %}
...
{% endif %}
{% if users|length > 10 %}
...
{% endif %}
sort过滤器
使用的是sort函数
{% for use in users|sort %}
...
{% endfor %}
{% for use in users|sort %}
...
{% endfor %}
default过滤器
当变量没定义或者为空的时候,返回预先设置的内容
{{ var|default('var is not defined') }}
{{ var.foo|default('foo item on var is not defined') }}
{{ var['foo']|default('foo item on var is not defined') }}
{{ ''|default('passed var is empty') }}
{{ var|default('var is not defined') }}
{{ var.foo|default('foo item on var is not defined') }}
{{ var['foo']|default('foo item on var is not defined') }}
{{ ''|default('passed var is empty') }}
keys过滤器
返回key数组
{% for key in array|keys %}
...
{% endfor %}
{% for key in array|keys %}
...
{% endfor %}
escape过滤器
主要转义 & ' " 。并且它有个简写方式 e。
{{ user.username|escape }}
{{ user.username|e }}
{{ user.username|escape }}
{{ user.username|e }}还可以转义 js
{{ user.username|escape('js') }}
{{ user.username|e('js') }}
{{ user.username|escape('js') }}
{{ user.username|e('js') }}实际上他使用的是php函数 htmlspecialchars
raw过滤器
用于在autoescape标签内部,标记出不需要转义的内容。
{% autoescape true %}
{{ var|raw }} {# var won't be escaped #}
{% endautoescape %}
{% autoescape true %}
{{ var|raw }} {# var won't be escaped #}
{% endautoescape %}
merge过滤器
用来合并数组
{% set items = { 'apple': 'fruit', 'orange': 'fruit' } %}
{% set itemsitems = items|merge({ 'peugeot': 'car' }) %}
{# items now contains { 'apple': 'fruit', 'orange': 'fruit', 'peugeot': 'car' } #}
摘自 jiaochangyun的专栏

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PyCharm Community Edition prend-il en charge suffisamment de plugins ? Besoin d'exemples de code spécifiques Alors que le langage Python devient de plus en plus largement utilisé dans le domaine du développement logiciel, PyCharm, en tant qu'environnement de développement intégré (IDE) Python professionnel, est favorisé par les développeurs. PyCharm est divisé en deux versions : la version professionnelle et la version communautaire. La version communautaire est fournie gratuitement, mais sa prise en charge des plug-ins est limitée par rapport à la version professionnelle. La question est donc la suivante : PyCharm Community Edition prend-il en charge suffisamment de plug-ins ? Cet article utilisera des exemples de code spécifiques pour

Le charme de l'apprentissage du langage C : libérer le potentiel des programmeurs Avec le développement continu de la technologie, la programmation informatique est devenue un domaine qui a beaucoup attiré l'attention. Parmi les nombreux langages de programmation, le langage C a toujours été apprécié des programmeurs. Sa simplicité, son efficacité et sa large application font de l’apprentissage du langage C la première étape pour de nombreuses personnes souhaitant entrer dans le domaine de la programmation. Cet article discutera du charme de l’apprentissage du langage C et de la manière de libérer le potentiel des programmeurs en apprenant le langage C. Tout d’abord, le charme de l’apprentissage du langage C réside dans sa simplicité. Comparé à d'autres langages de programmation, le langage C

Apprenez Pygame à partir de zéro : didacticiel complet d'installation et de configuration, exemples de code spécifiques requis Introduction : Pygame est une bibliothèque de développement de jeux open source développée à l'aide du langage de programmation Python. Elle fournit une multitude de fonctions et d'outils, permettant aux développeurs de créer facilement une variété de types. de jeu. Cet article vous aidera à apprendre Pygame à partir de zéro et fournira un didacticiel complet d'installation et de configuration, ainsi que des exemples de code spécifiques pour vous permettre de démarrer rapidement. Première partie : Installer Python et Pygame Tout d'abord, assurez-vous d'avoir

Avantages et inconvénients des logiciels open source : Comprendre les avantages et les inconvénients des projets open source nécessite des exemples de code spécifiques. À l'ère numérique d'aujourd'hui, les logiciels open source suscitent de plus en plus d'attention et de respect. En tant que modèle de développement logiciel basé sur l’esprit de coopération et de partage, les logiciels open source sont largement utilisés dans différents domaines. Cependant, malgré les nombreux avantages des logiciels open source, ils présentent également certains défis et limites. Cet article examinera les avantages et les inconvénients des logiciels open source et démontrera les avantages et les inconvénients des projets open source à travers des exemples de code spécifiques. 1. Avantages des logiciels open source 1.1 Ouverture et transparence Logiciel open source

Lors de la modification du contenu du texte dans Word, vous devez parfois saisir des symboles de formule. Certains gars ne savent pas comment saisir le numéro racine dans Word, alors Xiaomian m'a demandé de partager avec mes amis un tutoriel sur la façon de saisir le numéro racine dans Word. J'espère que cela aidera mes amis. Tout d'abord, ouvrez le logiciel Word sur votre ordinateur, puis ouvrez le fichier que vous souhaitez modifier et déplacez le curseur vers l'emplacement où vous devez insérer le signe racine, reportez-vous à l'exemple d'image ci-dessous. 2. Sélectionnez [Insérer], puis sélectionnez [Formule] dans le symbole. Comme indiqué dans le cercle rouge dans l'image ci-dessous : 3. Sélectionnez ensuite [Insérer une nouvelle formule] ci-dessous. Comme indiqué dans le cercle rouge dans l'image ci-dessous : 4. Sélectionnez [Formule radicale], puis sélectionnez le signe racine approprié. Comme le montre le cercle rouge sur l'image ci-dessous :

Titre : Apprenez la fonction principale du langage Go à partir de zéro. En tant que langage de programmation simple et efficace, le langage Go est privilégié par les développeurs. Dans le langage Go, la fonction principale est une fonction d'entrée, et chaque programme Go doit contenir la fonction principale comme point d'entrée du programme. Cet article explique comment apprendre la fonction principale du langage Go à partir de zéro et fournit des exemples de code spécifiques. 1. Tout d’abord, nous devons installer l’environnement de développement du langage Go. Vous pouvez aller sur le site officiel (https://golang.org

Comment le logiciel C++ implémente-t-il la prise en charge de la langue chinoise ? Avec le processus de mondialisation, de plus en plus de logiciels doivent prendre en charge plusieurs langues, dont le chinois. Dans le développement C++, la mise en œuvre de la prise en charge de la langue chinoise n'est pas compliquée et peut être facilement réalisée avec seulement quelques compétences et outils de base. Cet article présentera comment implémenter la prise en charge de la langue chinoise dans les logiciels C++ et fournira des exemples de code spécifiques. 1. Utilisez le codage Unicode Afin de prendre en charge le chinois, vous devez d'abord vous assurer que le logiciel utilise le codage Unicode en interne. Unicode est un standard

Ces dernières années, avec le développement continu de la technologie, les smartphones sont devenus un outil indispensable et important dans la vie des gens. En tant que type de système d'exploitation pour smartphone, le système Hongmeng a attiré beaucoup d'attention et d'attention. Il est considéré comme un tout nouveau système d’exploitation offrant une sécurité accrue, une vitesse de réponse plus rapide et une meilleure expérience utilisateur. Le système Hongmeng est favorisé par de nombreux fabricants de téléphones mobiles, et ils ont successivement lancé des modèles de téléphones mobiles prenant en charge le système. Voici un résumé de certains modèles de téléphones mobiles prenant en charge le système Hongmeng. Série Huawei Mate En tant que l'un des principaux développeurs du système Hongmeng, Huawei est naturellement
