この記事では、Smarty テンプレート可変レギュレーターの使用方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
smarty でテキストと変数を変更するにはどうすればよいですか?もちろん、php 関数を通じてテキストを処理し、それを assign() メソッドを通じてテンプレートに割り当てることができます。実際、smarty はテキストを簡単に処理するための変数レギュレーターを提供します。
構文は次のとおりです。{$var|modifier1|modifier2|modifier3|…}
注: 1. 適用する関数の数に関係なく、| で区切る必要があります。
注: 2. パラメーターは「:」で区切ります。例:
リーリーSmarty テンプレートで一般的に使用される変数メディエーション関数
メンバーメソッド名 |
説明 |
大文字にする |
変数内のすべての単語の最初の文字を大文字にし、パラメータ値はブール型によって決定されます 数字を含む単語の最初の文字を大文字にするかどうか、デフォルトでは大文字ではありません |
count_characters |
変数値の文字数を計算し、パラメータ値のブール値によってカウントするかどうかを決定します スペースの数をカウントします。デフォルトではスペースはカウントされません |
猫 |
cat のパラメータ値を指定された変数に接続します。デフォルトは空です |
count_paragraphs |
変数内の段落数をカウントします |
count_sentences |
変数内の文の数を数える |
count_words |
変数内の単語の数を数えます |
日付形式 |
日付形式。date_format に渡された場合、最初のパラメーターは日付形式を制御します データは空です。2番目のパラメータはデフォルトの時間として使用されます |
デフォルト |
変数が空または未割り当ての場合、空の変数にデフォルト値を設定します。 出力を指定されたデフォルト値に置き換えます
|
逃げる |
HTML トランスコーディング、URL トランスコーディング、トランスコーディングを行わずに変数の一重引用符を変換するために使用されます。
16 進数トランスコーディング、16 進数美化、または JavaScript トランスコーディング。 デフォルトはHTMLトランスコーディングです
|
| 各行の文字列をインデントします。最初のパラメータはインデントする文字数を指定します。
デフォルトは 4 文字です。2 番目のパラメータはインデントを置き換える文字を指定します |
低い |
小文字の変数文字列 |
nl2br |
すべての改行文字は 076402276aae5dbec7f672f8f4e5cc81 に置き換えられます。この関数は PHP の nl2br() 関数と同じです 。 |
regex_replace |
正規表現を検索して置換するには、パラメータ 1 が 2 つ必要です。 正規表現を置き換えます。パラメータ 2 を置き換えるにはどのテキスト文字列を使用する必要がありますか |
交換 |
単純な検索と文字列の置換。2 つのパラメータが必要です。パラメータ 1 は 置換される文字列、パラメータ 2 は置換に使用されるテキストです |
空間を整える |
文字列の各文字の間にスペースまたはその他の文字列を挿入します。, パラメータは 2 つの文字の間に挿入される文字列を表します。デフォルトはスペースです |
文字列形式 |
は、sprintf を使用して 10 進数などの浮動小数点数をフォーマットする方法です 文法の書式設定。このパラメータは必須であり、使用するフォーマット方法を指定します。 %d は整数を表示することを意味し、%.2f は 2 つの浮動小数点数をインターセプトすることを意味します |
ストリップ |
繰り返されるすべてのスペース、改行、タブを単一または指定された文字列に置き換えます。 パラメータがある場合は指定された文字列です |
ストリップタグ |
すべてのHTMLタグを削除します |
切り捨てる |
文字列の先頭から一定の長さの文字を切り詰めます。デフォルトは 80 です |
アッパー |
変数を大文字に変更します |
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程序设计有所帮助。