Rumah pembangunan bahagian belakang tutorial php PHP模板引擎Smarty内置变量调解器的用法及实例详解

PHP模板引擎Smarty内置变量调解器的用法及实例详解

Jun 04, 2018 am 09:27 AM
php smarty pembolehubah

这篇文章主要介绍了PHP模板引擎Smarty内置变量调解器用法,结合实例形式详细分析了Smarty中的常用内置变量调节器定义与使用技巧,需要的朋友可以参考下

Smarty 中的变量调解器相当于函数,其调用方式为:通过 "|" 后面直接跟调解器函数名,如果有参数,得加在 ":" 后面,多个参数的话,累加即可。

下面为您介绍 Smarty 中内置的变量调解器:

1、capitalize

将变量里的所有单词首字大写。参数值 boolean 型决定带数字的单词,首字是否大写。默认不大写

index.php

$tpl->assign('str', 'hello world wor2ld!!!');
$tpl->display('index.html');
Salin selepas log masuk

index.html(模板文件)

<{$str|capitalize}>
<{$str|capitalize:true}>
Salin selepas log masuk

结果为:Hello World wor2ld!!!、 Hello World Wor2Ld!!!

2、count_characters

计算变量里的字符数,该调解器默认不计算空格(空格、制表符、回车…)只计算字符的个数,并且能很好的支持中文字符计算;如果添加参数 true ,则计算空格。

index.html

<{$str|count_characters}> // 不计算空格
<{$str|count_characters:true}> // 计算空格
Salin selepas log masuk

结果为:13、14

3、cat

连接字符串,将cat里的值连接到给定的变量后面。

<{$str|cat:&#39; Happy new year.&#39;}>
Salin selepas log masuk

结果为:hello world!!! Happy new year.

4、count_paragraphs

计算段数,计算变量里的段落数量,完美支持中文段落。

index.php

$str = <<assign(&#39;str&#39;, $str);
$tpl->display(&#39;index.html&#39;);
Salin selepas log masuk

index.html

<{$str|count_paragraphs}>
Salin selepas log masuk

结果为:3

5、count_sentences

计算句数,计算变量里句子的数量。注:只支持英文语句,不支持中文。

index.php

$str = <<assign(&#39;str&#39;, $str);
Salin selepas log masuk
Salin selepas log masuk

index.html

<{$str|count_sentences}>
Salin selepas log masuk

结果为:2

6、count_words

计算词数,计算变量里的词数。

index.php

$str = <<assign(&#39;str&#39;, $str);
Salin selepas log masuk
Salin selepas log masuk

index.html

<{$str|count_words}>
Salin selepas log masuk

结果为:12

7、date_format

日期格式化,具体参数很多,这里只举例中国式日期格式

index.php

$tpl->assign(&#39;date&#39;, time()); // 传递时间戳
Salin selepas log masuk

index.html

<{$date|date_format:&#39;%Y-%m-%d %H:%M:%S&#39;}>
Salin selepas log masuk

结果为:2012-01-26 14:37:22

8、default

默认,为空变量设置一个默认值,当变量为空或者未分配的时候,将由给定的默认值替代输出。

index.php

$tpl->assign(&#39;str&#39;, &#39;&#39;); // 赋值给空
Salin selepas log masuk

index.html

<{$str|default:&#39;默认输出...&#39;}>、<{$string|default:&#39;没有定义,默认输出...&#39;}>
Salin selepas log masuk

结果为:默认输出...、没有定义,默认输出...

9、escape

转码,用于 html 转码,url 转码,在没有转码的变量上转换单引号,十六进制转码,十六进制美化,或者 javascript 转码,默认是html转码

index.php

$html = <<Google
html;
$js = <<
  for (var i=0; i<100; i++) {
    window.alert(i);
  }
js;
$tpl->assign(&#39;html&#39;, $html); // html
$tpl->assign(&#39;url&#39;, &#39;http://www.google.com.hk&#39;); // url
$tpl->assign(&#39;js&#39;, $js); // javascript
Salin selepas log masuk

index.html

HTML 转码:<{$html|escape:"html"}>
URL 转码:<{$url|escape:"url"}>
JS 转码:<{$js|escape:"javascript"}>
Salin selepas log masuk

结果为:

HTML 转码:Google
URL 转码:http%3A%2F%2Fwww.google.com.hk
JS 转码:
Salin selepas log masuk

10、indent

缩进,每行缩进字符串,第一个参数指定缩进多少个字符串,默认是四个字符;第二个参数,指定缩进用什么字符代替。

11、lower

小写,将变量字符串小写。

使用方法:<{$str|lower}>

12、upper

大写,将变量改为大写。

使用方法:<{$str|upper}>

13、nl2br

换行符替换成

所有的换行符将被替换成 ,同php的nl2br()函数一样。

14、regex_replace

正则替换,寻找和替换正则表达式,和 preg_replace() 的语法一样。

index.php

$tpl->assign(&#39;str&#39;, &#39;http://www.google.com&#39;);
Salin selepas log masuk

index.html

<{$str|regex_replace:&#39;/go{2}gle/&#39;:&#39;baidu&#39;}>
Salin selepas log masuk

结果为:http://www.baidu.com

15、replace

替换,简单的搜索和替换字符串。

16、spacify

插空,插空(不知道这个词是什么意思,顾名思义了^^)是一种在字符串的每个字符之间插入空格或者其他的字符(串)。

index.php

$tpl->assign(&#39;str&#39;, &#39;hello world!!!&#39;);
Salin selepas log masuk

index.html

<{$str|spacify:"^^"}>
Salin selepas log masuk

结果为:h^^e^^l^^l^^o^^ ^^w^^o^^r^^l^^d^^!^^!^^!

17、string_format

字符串格式化,是一种格式化浮点数的方法,例如:十进制数.使用 sprintf 语法格式化。

index.php

$tpl->assign(&#39;num&#39;, 23.5787446);
Salin selepas log masuk

index.html

<{$num|string_format:"%.2f"}>
<{$num|string_format:"%d"}>
Salin selepas log masuk

结果为:23.58、23

18、strip

替换所有重复的空格、换行、tab 为单个

index.php

$tpl->assign(&#39;str&#39;, "Grandmother of\neight makes\t  hole in one.");
Salin selepas log masuk

index.html

<{$str|strip:" "}>
Salin selepas log masuk

结果为:Grandmother of eight makes hole in one.

源代码:

Grandmother of eight makes hole in one.

19、strip_tags

去除在<和>之间的所有标签,包括<和>。

index.php

$tpl->assign(&#39;str&#39;, "Google");
Salin selepas log masuk

index.html

<{$str|strip_tags}>
Salin selepas log masuk

结果为:Google(源代码也是 Google,去掉了标签和标签)

20、truncate

截取,截取字符串开始的一段.默认是80个,你可以指定第二个参数作为在截取的那段字符串后加上什么字符,默认情况下,smarty会截取到一个词的末尾,如果你想要精确的截取多少个字符,把第三个参数改为"true" 。

index.php

复制代码 代码如下:

$tpl->assign('str', '从前有座山,山上有座庙。庙里有一个老和尚和一个小和尚...');

index.html

<{$str|truncate:10:&#39;...&#39;:true}>
Salin selepas log masuk

结果为:从前有座山,山...

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。

相关推荐:

PHP中Socket连接及读写数据超时问题分析

PHP实现的DES加密解密封装类

php中htmlentities()函数的定义及用法

Atas ialah kandungan terperinci PHP模板引擎Smarty内置变量调解器的用法及实例详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini 7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini Nov 13, 2024 am 09:42 AM

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Program PHP untuk mengira vokal dalam rentetan Program PHP untuk mengira vokal dalam rentetan Feb 07, 2025 pm 12:12 PM

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Terangkan pengikatan statik lewat dalam php (statik: :). Terangkan pengikatan statik lewat dalam php (statik: :). Apr 03, 2025 am 12:04 AM

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apr 03, 2025 am 12:03 AM

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.

See all articles