Home >Backend Development >PHP Tutorial >How Smarty templates use variable regulators
This article mainly introduces the usage of Smarty template variable regulator, and analyzes the function and specific usage skills of Smarty template variable regulator in more detail. Friends in need can refer to it. I hope to be helpful.
The details are as follows:
How to modify text and variables in smarty? Of course, you can process the text through the PHP function, and then assign it to the template through the assign() method. In fact, smarty provides a variable regulator to easily process the text. The syntax is as follows:
{$ var|modifier1|modifier2|modifier3|…}
Note: 1. No matter how many functions are applied, they should be separated by |.
Note: 2. Parameters are used ":" separated, such as:
{$str|truncate:40:"..."} //截取字符串长度为40,并以...结尾。
Variable mediation function commonly used in Smarty templates
Member method name |
Description |
capitalize |
Capitalize the first letter of all words in the variable, the parameter value is boolean Type determines whether the first character of a word with numbers is capitalized. The default is not capitalization. |
Calculate the number of characters in the variable value. The parameter value boolean determines whether to count spaces. | The number of spaces is not counted by default. |
cat |
Connect the parameter value in cat to the given variable, the default is empty |
count_paragraphs |
Count the number of paragraphs in the variable |
count_sentences |
Count the number of sentences in the variable |
count_words |
Count the number of words in the variable |
date_format |
Date formatting, the first parameter controls the date format. If the data passed to date_format is empty, the second parameter will be used as the default time |
##default | Set a default value for an empty variable. When the variable is empty or unallocated, Replace the output by the given default |
escape |
for html transcoding , url transcoding, convert single quotes, hexadecimal transcoding, hexadecimal beautification, or JavaScript transcoding on variables that are not transcoded. The default is html transcoding |
indent | Indent the string in each line, The first parameter specifies how many characters to indent, defaults to four characters; the second parameter specifies what characters to use for indentation instead of |
##lower | Lowercase the variable string |
nl2br |
All newline characters will be replaced with 076402276aae5dbec7f672f8f4e5cc81. The function is the same as the nl2br() function in PHP |
regex_replace | To find and replace regular expressions, there must be two parameters. Parameter 1 is replacement Regular expression, what text string is used for parameter 2 to replace |
replace | Simple search and replace characters String must have two parameters, parameter 1 is the string to be replaced , parameter 2 is the text used to replace |
spacify |
Insert spaces or other strings between each character of the string., The parameter represents the string that will be inserted between two characters, the default is a space |
##string_format |
is a way of formatting floating point numbers, such as decimal numbers, using the sprintf syntax. The parameter is required and specifies the formatting method to be used. %d means displaying an integer, %.2f means intercepting two floating point numbers |
strip | Replace all repeated spaces, newlines and tabs with a single or specified string. If there is a parameter, it is the specified string |
strip_tags |
去除所有html标签 |
truncate |
从字符串开始处截取某长度的字符,默认是80个 |
upper |
将变量改为大写 |
php代码示例如下:
capitalize(首字母大写):
<{$a|capitalize}>
count_characters(字符计数):
<{$b|count_characters}>
cat(连接字符串):
<{$c|cat:world}>
count_paragraphs(计算段数)----(换行符\n):
<{$d|count_paragraphs}>
count_sentences(计算句数):
<{$e|count_sentences}>
count_words(计算词数):
<{$f|count_words}>
date_format(格式化日期):
<{$smarty.now|date_format:"%y-%m-%d %H:%I:%S"}>
default(默认值):
<{$biaoti|default:"no biaoti"}>
escape(编码):
<{$dz|escape}>
indent(首行缩进):
<{$in|indent}> <{$in|indent:1:"\t"}>
nl2br换行符替换成:
<{$con|nl2br}>
regex_replace 正则替换
<{$h|regex_replace:"/[\r\t\n]/":" <br/> "}>
replace(替换)
<{$h|replace:"hello":"你好"}>
提醒:
往往开发中有时候是满足不了需求的,那就可以直接写这些变量调节器,其实所谓的变量调节器就是一个函数,在这里我们自己建一个,首先在plugins文件夹里面间建立一个php文件,命名一定按着他的规范。
modifier.capita.php
function Smarty_modifier_capita($string){ //函数命名也是有规范的 return strtoupper(substr($string,0,1)).strtolower(substr($string,1)); }
模版文件调用:
<{$a|capita}>
相关推荐:
The above is the detailed content of How Smarty templates use variable regulators. For more information, please follow other related articles on the PHP Chinese website!