This article describes the usage of Smarty template variable regulator. Share it with everyone for your reference, 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. Separate parameters with ":", such as:
{$str|truncate:40:"..."} //截取字符串长度为40,并以...结尾。
Variable mediation functions commonly used in Smarty templates
Member method name |
Description |
capitalize |
Capitalize the first letter of all words in the variable, and the parameter value is determined by the boolean type Whether the first letter of words with numbers is capitalized, the default is not capitalized |
count_characters |
Calculate the number of characters in the variable value, and the parameter value boolean determines whether to count Count the number of spaces, spaces are not counted by default |
cat |
Connect the parameter value in cat to the given variable, the default is empty |
count_paragraphs |
Calculate 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 passed to date_format The data foris empty and 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 unassigned, Replace the output with the given default value |
escape |
Used for html transcoding, url transcoding, converting single quotes, on variables without transcodingHex transcoding, hex beautification, or JavaScript transcoding. The default is html transcoding |
indent |
Indent the string on each line, the first parameter specifies how many characters to indent, defaults to four characters; the second parameter specifies what character to use for indentation instead of |
lower |
Lowercase the variable string |
nl2br |
All newline characters will be replaced with |
regex_replace |
To find and replace regular expressions, there must be two parameters. Parameter 1 is to replace Replace the regular expression, what text string should be used to replace parameter 2 |
replace |
Simple search and replace 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., Theparameter represents the string that will be inserted between two characters. The default is a space |
string_format |
is a way to format floating point numbers, such as decimal numbers, using sprintf Grammar formatting. 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 |
Remove all html tags |
truncate |
Truncate a certain length of characters from the beginning of the string, the default is 80 |
upper |
Change variables to uppercase |
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}>
更多关于Smarty相关内容感兴趣的读者可查看本站专题:《smarty模板入门基础教程》、《PHP模板技术总结》、《PHP基于pdo操作数据库技巧总结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于smarty模板的PHP程序设计有所帮助。