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');
index.html (fichier modèle)
<{$str|capitalize}> <{$str|capitalize:true}>
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}> // 计算空格
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:' Happy new year.'}>
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('str', $str); $tpl->display('index.html');
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('str', $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('str', $str);
index.html
<{$str|count_words}>
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('date', time()); // 传递时间戳
index.html
<{$date|date_format:'%Y-%m-%d %H:%M:%S'}>
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('str', ''); // 赋值给空
index.html
<{$str|default:'默认输出...'}>、<{$string|default:'没有定义,默认输出...'}>
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('html', $html); // html $tpl->assign('url', 'http://www.google.com.hk'); // url $tpl->assign('js', $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 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 : 750a9f85df50488af5b1b9f9539cd4b512. majusculemajuscule, changez la variable en majuscule. Utilisation : 98cba6331cf99290e107dcab961d573a13. nl2brles 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_replaceRemplacement régulier, rechercher et remplacer des expressions régulières, la syntaxe est la même que preg_replace(). index.php
$tpl->assign('str', 'http://www.google.com');index.html
<{$str|regex_replace:'/go{2}gle/':'baidu'}>Le résultat est : http://www.baidu.com15. remplacerRemplacer, rechercher et remplacer simplement la chaîne. 16. spacifyInsé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('str', 'hello world!!!');index.html
<{$str|spacify:"^^"}>Le résultat est : h^^e^^l^^l^^o^^ ^^w^^o^^r^^l^^d^^!^^!^^!
17. string_formatLe 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('num', 23.5787446);index.html
<{$num|string_format:"%.2f"}> <{$num|string_format:"%d"}>Les résultats sont : 23.58, 2318, stripRemplacez tous les espaces, nouvelles lignes et tabulations répétés par un seul index.php
$tpl->assign('str', "Grandmother of\neight makes\t hole in one.");index.html
<{$str|strip:" "}>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_tagsSupprimez tous les caractères entre 55016b4a1a24455630af9004056dfbc6. index.php
$tpl->assign('str', "Google");index.html
<{$str|strip_tags}>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('str', '从前有座山,山上有座庙。庙里有一个老和尚和一个小和尚...');
index.html
<{$str|truncate:10:'...':true}>
结果为:从前有座山,山...
希望本文所述对大家基于smarty模板的PHP程序设计有所帮助。
更多PHP模板引擎Smarty内置变量调解器用法详解相关文章请关注PHP中文网!