Maison > php教程 > PHP开发 > le corps du texte

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

高洛峰
Libérer: 2016-12-27 16:00:49
original
1218 Les gens l'ont consulté

L'exemple de cet article décrit l'utilisation du médiateur de variables intégré du moteur de modèles PHP Smarty. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :

Le médiateur variable dans Smarty est équivalent à une fonction. La méthode d'appel est : directement suivie du nom de la fonction médiateur via "|". sont des paramètres, ils doivent être ajoutés. Après ":", s'il y a plusieurs paramètres, additionnez-les simplement.

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

1. mettre en majuscule

Mettre en majuscule la première lettre de tous les mots de la 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 majuscule par défaut n'est pas mise 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 !!!, Bonjour World Wor2Ld !!!

2. count_characters

compte le nombre de caractères dans la variable Par défaut, le médiateur ne compte pas les espaces (espaces, tabulations, retours chariot...) et ne compte que le nombre de caractères. Et il peut très bien prendre en charge le calcul des caractères chinois ; si le paramètre true est ajouté, les espaces seront calculés.

index.html

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

Les résultats sont : 13, 14

3, cat

chaîne de connexion, connectez la valeur dans cat à après 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

Calculer le nombre de paragraphes , calcule le nombre de paragraphes dans la variable et prend parfaitement en charge 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 la 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. par défaut

Par défaut, définissez une valeur par défaut pour une variable vide Lorsque la variable est vide ou non allouée, la valeur par défaut donnée sera affichée. plutôt.

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. escape

transcodage, utilisé pour le transcodage html, le transcodage d'url, dans Convert single guillemets sur les 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 indente une chaîne, le premier paramètre spécifie le nombre de chaînes à indenter, la valeur par défaut est de quatre caractères ; le deuxième paramètre, spécifie le 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 sauts de ligne seront Remplacer avec, la même chose que 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. Insérer un espace (je ne sais pas ce que ce mot signifie, comme son nom l'indique ^^). entre chaque caractère d'un caractère de chaîne (string).

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 formater.

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

Les résultats sont : 23.58, 23

18, strip

Remplacez tous les espaces, nouvelles lignes et tabulations répétés par 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 est : Grand-mère de huit trous fait en un.

Code source :

Grand-mère de huit enfants fait un trou en un.

19. strip_tags

Supprimez tous les caractères entre < ; Balises, y compris < et >.

index.php

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

index.html

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

Le résultat est : Google (le code source est également Google, avec les balises et les balises supprimées)

20, tronquer

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

index.php

$tpl->assign(&#39;str&#39;, &#39;从前有座山,山上有座庙。庙里有一个老和尚和一个小和尚...&#39;);
Copier après la connexion

index.html

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

   

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

希望本文所述对大家基于smarty模板的PHP程序设计有所帮助。

更多PHP模板引擎Smarty内置变量调解器用法详解相关文章请关注PHP中文网!

Étiquettes associées:
source:php.cn
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
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal