ホームページ >バックエンド開発 >PHPチュートリアル >PHPテンプレートエンジンSmartyの組み込み変数メディエーターの使い方と使用例を詳しく解説

PHPテンプレートエンジンSmartyの組み込み変数メディエーターの使い方と使用例を詳しく解説

墨辰丷
墨辰丷オリジナル
2018-06-04 09:27:151228ブラウズ

この記事では、主に PHP テンプレート エンジン Smarty の組み込み変数メディエーターの使用法を紹介します。Smarty でよく使用される組み込み変数メディエーターの定義と使用スキルを例とともに詳細に分析します。 Smarty のメディエーター。関数の呼び出し方法は次のとおりです。パラメーターがある場合は、パラメーターを「:」の後に追加する必要があります。 。


以下では、Smarty の組み込み変数メディエーターを紹介します:

1. Capitalize

変数内のすべての単語の最初の文字を大文字にします。パラメーター値は、数字を含む単語の最初の単語を大文字にするかどうかを決定するブール型です。デフォルトは大文字ではありません

index.php

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

index.html (テンプレートファイル)

<{$str|capitalize}>
<{$str|capitalize:true}>

結果は次のようになります: Hello World wor2ld!!!、Hello World Wor2Ld!!!

2、count_characters

は、変数内の文字数をカウントします。デフォルトでは、メディエーターはスペース (スペース、タブ、改行など) をカウントせず、文字数のみをカウントし、漢字の計算を適切にサポートします。 ; パラメータ true を追加すると、スペースがカウントされます。

index.html

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

結果は次のようになります: 13, 14

3, cat

文字列を接続し、cat の値を指定された変数に接続します。

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

結果は次のとおりです: hello world!!! Happy new year.

4. count_paragraphs

段落数を計算し、変数内の段落数をカウントし、中国語の段落を完全にサポートします。

index.php

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

index.html

<{$str|count_paragraphs}>

結果は次のようになります: 3

5, count_sentences

変数内の文の数を数えます。注: 英語の文章のみがサポートされており、中国語はサポートされていません。

index.php

$str = <<assign(&#39;str&#39;, $str);

index.html

<{$str|count_sentences}>

結果は次のようになります: 2

6, count_words

変数内の単語の数を数えます。

index.php

$str = <<assign(&#39;str&#39;, $str);

index.html

<{$str|count_words}>

結果は次のようになります: 12

7、date_format

日付の書式設定、多くの特定のパラメータがあります。ここでは例のみを示します。中国語の日付形式

index.php

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

index.html

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

結果は: 2012-01-26 14:37:22

8、デフォルト、 empty 変数設定 デフォルト値 変数が空または未割り当ての場合、出力は指定されたデフォルト値に置き換えられます。

index.php

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

index.html

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

結果: デフォルト出力...、定義なし、デフォルト出力...

9、エスケープ

トランスコーディング、HTML トランスコーディング、URL トランスコーディング、トランスコーディングを行わない変数の一重引用符の変換、16 進トランスコーディング、16 進整形、または 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

index.html

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

結果は次のようになります:

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

10, indent

インデント、各行は文字列をインデントします。最初のパラメータはインデントする文字数を指定します。デフォルトは 4 文字です。パラメータは、インデントの置き換えに使用する文字を指定します。

11. lower

小文字、変数文字列を小文字にします。

使用法: a6217669b6f8d3aad77b14db13c00bad

12、大文字

大文字、変数を大文字に変更します。

使用法: 98cba6331cf99290e107dcab961d573a

13, nl2br

改行文字は

すべての改行文字は に置き換えられます。これは、php の nl2br() 関数と同じです。

14. regex_replace

正規置換、正規表現の検索と置換。構文は preg_replace() と同じです。

index.php

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

index.html

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

結果は次のようになります: http://www.baidu.com

15、replace

Replace、単純な検索と置換弦。

16, spacify

スペースの挿入、スペース挿入(名前の通り、この言葉の意味は分かりません^^)は、文字列の各文字の間にスペースや他の文字(文字列)を挿入する方法です。弦。

index.php

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

index.html

<{$str|spacify:"^^"}>

結果は次のようになります: h^^e^^l^^l^^o^^ ^^w^^o^^r ^ ^l^^d^^!^^!^^!

17. string_format

文字列の書式設定は、10 進数などの浮動小数点数を書式設定する方法です。

index.php

$tpl->assign(&#39;num&#39;, 23.5787446);

index.html

<{$num|string_format:"%.2f"}>
<{$num|string_format:"%d"}>

結果は次のとおりです: 23.58、23

18、strip

繰り返されるスペース、改行、タブをすべて置き換えます独身として

Index.php

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

index.html

<{$str|strip:" "}>

結果は次のとおりです: 8 人の子供の祖母がホールインワンを達成しました。

源代码:

Grandmother of eight makes hole in one.

19、strip_tags

去除在67bffed8d39c986beaddeed3e8cd5568之间的所有标签,包括67bffed8d39c986beaddeed3e8cd5568。

index.php

$tpl->assign(&#39;str&#39;, "Google");

index.html

<{$str|strip_tags}>

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

20、truncate

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

index.php

复制代码 代码如下:

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

index.html

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

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

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

相关推荐:

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

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

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

以上がPHPテンプレートエンジンSmartyの組み込み変数メディエーターの使い方と使用例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。