Home >Backend Development >PHP Tutorial >Detailed explanation of usage and examples of built-in variable mediator in PHP template engine Smarty
This article mainly introduces the usage of the built-in variable mediator in PHP template engine Smarty. It analyzes the definition and usage skills of commonly used built-in variable mediators in Smarty in detail with examples. Friends in need can refer to it
The variable mediator in Smarty is equivalent to a function, and its calling method is: directly followed by the mediator function name through "|". If there are parameters, they must be added after ":". If there are multiple parameters, they can be accumulated.
The following introduces you to the built-in variable mediator in Smarty:
1. capitalize
Change the first letter of all words in the variable capital. The parameter value is a boolean type that determines whether the first word of a word with numbers is capitalized. The default is not capitalized
index.php
$tpl->assign('str', 'hello world wor2ld!!!'); $tpl->display('index.html');
index.html (template file)
<{$str|capitalize}> <{$str|capitalize:true}>
The result is: Hello World wor2ld!!!, Hello World Wor2Ld!!!
2, count_characters
Calculate the number of characters in the variable , the mediator does not count spaces (spaces, tabs, carriage returns...) by default, only counts the number of characters, and can well support Chinese character calculations; if the parameter true is added, spaces will be counted.
index.html
<{$str|count_characters}> // 不计算空格 <{$str|count_characters:true}> // 计算空格
The results are: 13, 14
3, cat
Connect the string and connect the value in cat to the given variable.
<{$str|cat:' Happy new year.'}>
The result is: hello world!!! Happy new year.
4、count_paragraphs
Calculate the number of paragraphs, calculate the number of paragraphs in the variable, and perfectly support Chinese paragraphs.
index.php
$str = <<assign('str', $str); $tpl->display('index.html');
index.html
<{$str|count_paragraphs}>
The result is: 3
5, count_sentences
Count the number of sentences and count the number of sentences in the variable. Note: Only English sentences are supported, Chinese is not supported.
index.php
$str = <<assign('str', $str);
index.html
<{$str|count_sentences}>
The result is: 2
6, count_words
Calculate the number of words, count the number of words in the variable.
index.php
$str = <<assign('str', $str);
index.html
<{$str|count_words}>
The result is: 12
7, date_format
Date formatting, there are many specific parameters, here is only an example of Chinese date format
index.php
$tpl->assign('date', time()); // 传递时间戳
index.html
<{$date|date_format:'%Y-%m-%d %H:%M:%S'}>
The result is: 2012-01-26 14: 37:22
8, default
Default, set a default value for an empty variable. When the variable is empty or unallocated, the given default value will be used. Alternative output.
index.php
$tpl->assign('str', ''); // 赋值给空
index.html
<{$str|default:'默认输出...'}>、<{$string|default:'没有定义,默认输出...'}>
The result is: default output..., no definition, default output...
9, escape
transcoding, used for html transcoding, url transcoding , convert single quotes on variables without transcoding, hexadecimal transcoding, hexadecimal beautification, or javascript transcoding, the default is html transcoding
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"}>
The result is:
HTML 转码:Google URL 转码:http%3A%2F%2Fwww.google.com.hk JS 转码:
10, indent
Indent, each line indents a string, the first parameter specifies how many strings to indent, the default is four characters; The second parameter specifies what character to use to replace the indentation.
11, lower
lowercase, lowercase the variable string.
Usage: 750a9f85df50488af5b1b9f9539cd4b5
12, upper
uppercase, change the variable to uppercase.
Usage: 98cba6331cf99290e107dcab961d573a
13, nl2br
Replace the newline character with
All newline characters will be replaced, the same as PHP's nl2br() function.
14. regex_replace
Regular replacement, finding and replacing regular expressions, has the same syntax as preg_replace().
index.php
$tpl->assign('str', 'http://www.google.com');
index.html
<{$str|regex_replace:'/go{2}gle/':'baidu'}>
The result is: http://www.baidu.com
15, replace
, simple search and replace string.
16, spacify
Insert space, insert space (I don’t know what this word means, just as the name suggests ^^) is a method of inserting spaces into each character of a string Insert spaces or other characters (strings) between them.
index.php
$tpl->assign('str', 'hello world!!!');
index.html
<{$str|spacify:"^^"}>
The result is: h^^e^^l^^l^^o^^ ^^w^^o^^r^^l^^d^^!^^!^^!
17. string_format
String formatting is a method of formatting floating point numbers, such as decimal numbers. Use sprintf syntax to format.
index.php
$tpl->assign('num', 23.5787446);
index.html
<{$num|string_format:"%.2f"}> <{$num|string_format:"%d"}>
The result is: 23.58, 23
18, strip
Replace all repeated spaces, newlines, and tabs into a single
index.php
$tpl->assign('str', "Grandmother of\neight makes\t hole in one.");
index.html
<{$str|strip:" "}>
The result is: Grandmother of eight makes hole in one.
源代码:
Grandmother of eight makes hole in one.
19、strip_tags
去除在67bffed8d39c986beaddeed3e8cd5568之间的所有标签,包括67bffed8d39c986beaddeed3e8cd5568。
index.php
$tpl->assign('str', "Google");
index.html
<{$str|strip_tags}>
结果为:Google(源代码也是 Google,去掉了标签和标签)
20、truncate
截取,截取字符串开始的一段.默认是80个,你可以指定第二个参数作为在截取的那段字符串后加上什么字符,默认情况下,smarty会截取到一个词的末尾,如果你想要精确的截取多少个字符,把第三个参数改为"true" 。
index.php
复制代码 代码如下:
$tpl->assign('str', '从前有座山,山上有座庙。庙里有一个老和尚和一个小和尚...');
index.html
<{$str|truncate:10:'...':true}>
结果为:从前有座山,山...
总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。
相关推荐:
The above is the detailed content of Detailed explanation of usage and examples of built-in variable mediator in PHP template engine Smarty. For more information, please follow other related articles on the PHP Chinese website!