検索
ホームページphp教程PHP开发PHPテンプレートエンジンSmarty内蔵変数メディエーターの使い方を詳しく解説

この記事の例では、PHP テンプレート エンジン Smarty の組み込み変数メディエーターの使用方法について説明します。詳細は次のとおりです: Smarty の変数メディエーターは関数に相当します: パラメーターがある場合は、その直後にメディエーター関数名が続きます。を「:」の後に追加する必要があります。複数のパラメータがある場合は、それらを合計するだけです。

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

1. 大文字にする

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

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

日付の書式設定、多くの特定のパラメータがあります。ここでは中国語の日付の例のみを示します。 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、default

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

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

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

使用法:

12、upper

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

使用法:

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 進数などの浮動小数点数を書式設定する方法です。sprintf 構文を使用します。

index.php

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

index.html

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

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

18、strip

繰り返されるスペース、改行、タブをすべて単一に置き換えます。

インデックス。 php

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

index.html

<{$str|strip:" "}>

結果は次のとおりです: 8 人の祖母がホール イン 1 を作ります。

ソース コード:

8 人の祖母がホール イン 1 を作ります。 の間にあるタグ。

index.php

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

index.html

<{$str|strip_tags}>

結果は次のようになります: Google (ソースコードもGoogleで、タグとタグが削除されています)

20、truncate

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

index.php

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

index.html

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

   

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

希望本文所述对大家基于smarty模板的PHP程序设计有所帮助。

更多PHP模板引擎Smarty内置变量调解器用法详解相关文章请关注PHP中文网!

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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ヘンタイを無料で生成します。

ホットツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、