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

墨辰丷
墨辰丷original
2018-06-04 09:27:151195parcourir

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');

index.html (fichier modèle)

<{$str|capitalize}>
<{$str|capitalize:true}>

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}> // 计算空格

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;}>

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;);

index.html

<{$str|count_paragraphs}>

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);

index.html

<{$str|count_sentences}>

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);

index.html

<{$str|count_words}>

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()); // 传递时间戳

index.html

<{$date|date_format:&#39;%Y-%m-%d %H:%M:%S&#39;}>

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;); // 赋值给空

index.html

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

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

index.html

HTML 转码:<{$html|escape:"html"}>
URL 转码:<{$url|escape:"url"}>
JS 转码:<{$js|escape:"javascript"}>

Le résultat est :

HTML 转码:Google
URL 转码:http%3A%2F%2Fwww.google.com.hk
JS 转码:

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 : 750a9f85df50488af5b1b9f9539cd4b5

12. majuscule

majuscule, changez la variable en majuscule.

Utilisation : 98cba6331cf99290e107dcab961d573a

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;);

index.html

<{$str|regex_replace:&#39;/go{2}gle/&#39;:&#39;baidu&#39;}>

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;);

index.html

<{$str|spacify:"^^"}>

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);

index.html

<{$num|string_format:"%.2f"}>
<{$num|string_format:"%d"}>

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.");

index.html

<{$str|strip:" "}>

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

去除在67bffed8d39c986beaddeed3e8cd5568之间的所有标签,包括67bffed8d39c986beaddeed3e8cd5568。

index.php

$tpl->assign(&#39;str&#39;, "Google");

index.html

<{$str|strip_tags}>

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

20、truncate

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

index.php

复制代码 代码如下:

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

index.html

<{$str|truncate:10:&#39;...&#39;:true}>

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

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

相关推荐:

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:
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