Maison développement back-end tutoriel php Explication détaillée de l'utilisation et exemples du médiateur de variables intégré dans le moteur de modèles PHP Smarty

Explication détaillée de l'utilisation et exemples du médiateur de variables intégré dans le moteur de modèles PHP Smarty

Jun 04, 2018 am 09:27 AM
php smarty 变量

Cet article présente principalement l'utilisation du médiateur de variables intégré dans le moteur de modèles PHP Smarty. Il analyse en détail la définition et les compétences d'utilisation des médiateurs de variables intégrés couramment utilisés dans Smarty avec des exemples auxquels les amis dans le besoin peuvent se référer. it

La variable médiateur dans Smarty est équivalente à une fonction, et sa méthode d'appel est : directement suivie du nom de la fonction médiateur via "| S'il y a des paramètres, ils doivent être ajoutés après ":"". S'il existe plusieurs paramètres, ils peuvent être cumulés.

Ce qui suit vous présente le médiateur de variables intégré dans Smarty :

1 majuscule

Changez la première lettre de tous. mots en majuscule variable. La valeur du paramètre est un type booléen qui détermine si le premier mot d'un mot contenant des nombres est en majuscule. La valeur par défaut n'est pas en majuscule

index.php

$tpl->assign('str', 'hello world wor2ld!!!');
$tpl->display('index.html');
Copier après la connexion

index.html (fichier modèle)

<{$str|capitalize}>
<{$str|capitalize:true}>
Copier après la connexion

Le résultat est : Hello World wor2ld !!!, Hello World Wor2Ld !!!

2, count_characters

Variable calculée Le nombre de caractères dans le médiateur. Par défaut, le médiateur ne compte pas les espaces (espaces, tabulations, retours chariot...) mais compte uniquement le nombre de caractères, et peut bien supporter les calculs de caractères chinois si le paramètre est vrai ; est ajouté, les espaces seront comptés.

index.html

<{$str|count_characters}> // 不计算空格
<{$str|count_characters:true}> // 计算空格
Copier après la connexion

Les résultats sont : 13, 14

3, chat

Concaténez les chaînes et connectez la valeur dans cat à la variable donnée.

<{$str|cat:&#39; Happy new year.&#39;}>
Copier après la connexion

Le résultat est : bonjour tout le monde !!! Bonne année.

4. count_paragraphs

Calculez le nombre de paragraphes, comptez le nombre de paragraphes dans les variables et supportez parfaitement les paragraphes chinois.

index.php

$str = <<assign(&#39;str&#39;, $str);
$tpl->display(&#39;index.html&#39;);
Copier après la connexion

index.html

<{$str|count_paragraphs}>
Copier après la connexion

Le résultat est : 3

5. count_sentences

Comptez le nombre de phrases et comptez le nombre de phrases dans la variable. Remarque : seules les phrases en anglais sont prises en charge, le chinois n'est pas pris en charge.

index.php

$str = <<assign(&#39;str&#39;, $str);
Copier après la connexion
Copier après la connexion

index.html

<{$str|count_sentences}>
Copier après la connexion

Le résultat est : 2

6. count_words

Calculez le nombre de mots et comptez le nombre de mots dans la variable.

index.php

$str = <<assign(&#39;str&#39;, $str);
Copier après la connexion
Copier après la connexion

index.html

<{$str|count_words}>
Copier après la connexion

Le résultat est : 12

7. date_format

Format de date, il existe de nombreux paramètres spécifiques, voici uniquement des exemples de format de date chinois

index.php

$tpl->assign(&#39;date&#39;, time()); // 传递时间戳
Copier après la connexion

index.html

<{$date|date_format:&#39;%Y-%m-%d %H:%M:%S&#39;}>
Copier après la connexion

Le résultat est :2012-01-26 14:37:22

8. default

Default, définit une valeur par défaut pour une variable vide, lorsque la variable est vide ou non attribué, la sortie sera remplacée par la valeur par défaut donnée.

index.php

$tpl->assign(&#39;str&#39;, &#39;&#39;); // 赋值给空
Copier après la connexion

index.html

<{$str|default:&#39;默认输出...&#39;}>、<{$string|default:&#39;没有定义,默认输出...&#39;}>
Copier après la connexion

Le résultat est : sortie par défaut..., pas de définition, sortie par défaut...

9 évasion

transcodage, utilisé pour le transcodage html, transcodage d'url, convertir des guillemets simples sur des variables sans transcodage, transcodage hexadécimal, embellissement hexadécimal ou transcodage javascript, la valeur par défaut est le transcodage html

index.php

$html = <<Google
html;
$js = <<
  for (var i=0; i<100; i++) {
    window.alert(i);
  }
js;
$tpl->assign(&#39;html&#39;, $html); // html
$tpl->assign(&#39;url&#39;, &#39;http://www.google.com.hk&#39;); // url
$tpl->assign(&#39;js&#39;, $js); // javascript
Copier après la connexion

index.html

HTML 转码:<{$html|escape:"html"}>
URL 转码:<{$url|escape:"url"}>
JS 转码:<{$js|escape:"javascript"}>
Copier après la connexion

Le résultat est :

HTML 转码:Google
URL 转码:http%3A%2F%2Fwww.google.com.hk
JS 转码:
Copier après la connexion

10. indent

Indent, chaque ligne est une chaîne en retrait, le premier paramètre spécifie de combien indenter une chaîne, la valeur par défaut est de quatre caractères ; caractère à utiliser pour remplacer l’indentation.

11. minuscule

minuscule, minuscule la chaîne variable.

Utilisation : <{$str|lower}>

12. majuscule

majuscule, changez la variable en majuscule.

Utilisation : <{$str|upper}>

13.nl2br

les sauts de ligne sont remplacés par

Tous les caractères de nouvelle ligne seront remplacés, comme pour la fonction nl2br() de PHP.

14. regex_replace

Remplacement régulier, rechercher et remplacer des expressions régulières, la syntaxe est la même que preg_replace().

index.php

$tpl->assign(&#39;str&#39;, &#39;http://www.google.com&#39;);
Copier après la connexion

index.html

<{$str|regex_replace:&#39;/go{2}gle/&#39;:&#39;baidu&#39;}>
Copier après la connexion

Le résultat est : http://www.baidu.com

15. remplacer

Remplacer, rechercher et remplacer simplement la chaîne.

16. spacify

Insérer un espace, l'insertion d'un espace (je ne sais pas ce que ce mot signifie, comme son nom l'indique ^^) est une méthode d'insertion espaces dans chaque caractère d'une chaîne Insérez des espaces ou d'autres caractères (chaînes) entre eux.

index.php

$tpl->assign(&#39;str&#39;, &#39;hello world!!!&#39;);
Copier après la connexion

index.html

<{$str|spacify:"^^"}>
Copier après la connexion

Le résultat est : h^^e^^l^^l^^o^^ ^^w^^o^^r^^l^^d^^!^^!^^!

17. string_format

Le formatage de chaîne est une méthode de formatage des nombres à virgule flottante, tels que les nombres décimaux. Utilisez la syntaxe sprintf pour le formatage.

index.php

$tpl->assign(&#39;num&#39;, 23.5787446);
Copier après la connexion

index.html

<{$num|string_format:"%.2f"}>
<{$num|string_format:"%d"}>
Copier après la connexion

Le résultat est : 23.58, 23

18, strip

remplace tous les espaces, nouvelles lignes et tabulations répétés en un seul

index.php

$tpl->assign(&#39;str&#39;, "Grandmother of\neight makes\t  hole in one.");
Copier après la connexion

index.html

<{$str|strip:" "}>
Copier après la connexion

Le résultat c'est : Grand-mère de huit enfants fait un trou d'un coup.

源代码:

Grandmother of eight makes hole in one.

19、strip_tags

去除在<和>之间的所有标签,包括<和>。

index.php

$tpl->assign(&#39;str&#39;, "Google");
Copier après la connexion

index.html

<{$str|strip_tags}>
Copier après la connexion

结果为:Google(源代码也是 Google,去掉了标签和标签)

20、truncate

截取,截取字符串开始的一段.默认是80个,你可以指定第二个参数作为在截取的那段字符串后加上什么字符,默认情况下,smarty会截取到一个词的末尾,如果你想要精确的截取多少个字符,把第三个参数改为"true" 。

index.php

复制代码 代码如下:

$tpl->assign('str', '从前有座山,山上有座庙。庙里有一个老和尚和一个小和尚...');

index.html

<{$str|truncate:10:&#39;...&#39;:true}>
Copier après la connexion

结果为:从前有座山,山...

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。

相关推荐:

PHP中Socket连接及读写数据超时问题分析

PHP实现的DES加密解密封装类

php中htmlentities()函数的定义及用法

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Configuration du projet CakePHP Configuration du projet CakePHP Sep 10, 2024 pm 05:25 PM

Dans ce chapitre, nous comprendrons les variables d'environnement, la configuration générale, la configuration de la base de données et la configuration de la messagerie dans CakePHP.

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Téléchargement de fichiers CakePHP Téléchargement de fichiers CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Routage CakePHP Routage CakePHP Sep 10, 2024 pm 05:25 PM

Dans ce chapitre, nous allons apprendre les sujets suivants liés au routage ?

Discuter de CakePHP Discuter de CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

CakePHP créant des validateurs CakePHP créant des validateurs Sep 10, 2024 pm 05:26 PM

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.

See all articles