Home >Backend Development >PHP Tutorial >How Smarty templates use variable regulators

How Smarty templates use variable regulators

*文
*文Original
2018-01-02 09:54:531329browse

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

##count_characters

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}>

相关推荐:

php内置函数如何在smarty中调用的实例分享

Smarty分析保留变量的用法

Smarty模板引擎如何进行缓存的机制详解

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn