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

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

Jun 04, 2018 am 09:27 AM
php smarty 変数

この記事では、主に 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

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

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

12、大文字

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

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

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

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

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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

See all articles