Smartyでよく使われる変数演算子のまとめ、Smarty演算子のまとめ
この記事では、Smarty で一般的に使用される変数演算子を要約し、参考のために共有します。詳細は以下の通りです
PHPテンプレートエンジンsmartyの変数演算子を使用して、変数、カスタム関数、文字を操作できます。
変数演算子を適用するには構文で「|」を使用し、複数のパラメーターには「:」を使用します?/DIV>
大文字にする[大文字にする]
count_characters[文字数を数える]
猫[接続文字列]
count_paragraphs[段落数を数える]
count_sentences[文を数える]
count_words[単語数を数える]
date_format[時刻形式]
デフォルト[デフォルト]
エスケープ[トランスコーディング]
インデント[インデント]
小文字[小文字]
nl2br[改行は
に置き換えられます]
regex_replace[定期置換]
交換[交換]
スペースを空ける[空白を挿入]
string_format[文字列形式]
削除[(余分なスペース)を削除]
ストリップタグ[HTMLタグを削除]
切り詰め[インターセプト]
アッパー[大文字]
ワードラップ[線幅制限]
複数の演算子を組み合わせる
例は次のとおりです:
{$title|upper}
{* 最初の 40 文字を取得 *}
トピック: {$topic|truncate:40:"..."}
{* テキスト文字列の書式設定 *}
{"now"|date_format:"%Y/%m/%d"}
{* カスタム関数でレギュレーターを適用 *}
{mailto|上位アドレス="main@cn-web.com"}
Capitalize(最初の文字を大文字にする)
index.php ページは次のとおりです:
$smarty->assign('articleTitle', '警察はジェイウォーカーを摘発するキャンペーンを開始。');
$smarty->display('index.tpl');
index.tpl ページは次のとおりです:
{$articleTitle|大文字}
OUTPUT 出力は次のとおりです:
警察はジェイウォーカーを排除するためのキャンペーンを開始します。
count_characters (変数内の文字数をカウントします)
index.phpは以下の通りです:
$smarty->assign('articleTitle', '寒波は気温と関係している。');
$smarty->display('index.tpl');
index.tpl ページは次のとおりです:
{$articleTitle|count_characters}
OUTPUT 出力は次のとおりです:
寒波は気温と関係しています
猫(接続文字列)
cat の値を指定された変数に接続します
Index.php は以下の通りです:
$smarty->assign('articleTitle', '超能力者は世界は終わらなかったと予測');
$smarty->display('index.tpl');
index.tpl ページは次のとおりです:
OUTPUT 出力は次のとおりです:
count_paragraphs(段落数をカウント)
変数内の段落数を数えます
Index.php は以下の通りです:
$smarty->assign('articleTitle', '戦争が平和への希望をかすめる。子供の死が夫婦の休日を台無しにする。');
$smarty->display('index.tpl');
index.tplテンプレートページは以下のとおりです:
{$articleTitle|count_paragraphs}
OUTPUT 出力は次のとおりです:
人間は致命傷を負う。死は孤独感、孤立感を引き起こす。
2
変数内の文の数を数えます
Index.php は以下の通りです:
$smarty->display('index.tpl');
index.tpl テンプレートは次のとおりです:
{$articleTitle|count_sentences}
OUTPUT 出力は次のとおりです:
2
count_words(単語数を数える)
変数内の単語の数を数えます
Index.php は以下の通りです:
$smarty->assign('articleTitle', 'ディーラーは正午に車の話を聞くことになります。');
$smarty->display('index.tpl');
index.tpl テンプレートは次のとおりです:
{$articleTitle|count_words}
OUTPUT 出力は次のとおりです:
7
date_format(日付形式)
パラメータの位置
パラメータの場所 タイプ 必須 デフォルト 説明
1文字列 No %b %e, %Y 出力される日付の形式です
出力文字列形式
2 文字列 いいえ n/a 入力が空の場合のデフォルトの日付です。
入力が空の場合のデフォルト設定
指定された関数 serftime() で日付と時刻をフォーマットします
; Unix または mysql (strtotime で解析可能) からのタイムスタンプを Smarty に渡すことができます。
デザイナーは date_format を使用して日付形式を完全に制御できます。
date_format に渡されたデータが空の場合、2 番目のパラメーターが時刻形式として使用されます
Index.php は以下の通りです:
$smarty->assign('昨日', strtotime('-1 日'));
$smarty->display('index.tpl');
index.tpl:
{$smarty.now|date_format:"%A, %B %e, %Y"}
{$smarty.now|date_format:"%H:%M:%S"}
{$昨日|date_format}
{$yesterday|date_format:"%A, %B %e, %Y"}
{$yesterday|date_format:"%H:%M:%S"}
OUTPUT 出力は次のとおりです:
2001年2月6日火曜日
14:33:00
2001年2月5日
2001年2月5日月曜日
14:33:00
デフォルト(デフォルト)
パラメータ 位置 タイプ 必須 デフォルト 説明
1 文字列 空なし これは、変数が空の場合に出力されるデフォルト値です。
これは変数が空の場合のデフォルトの出力です
空の変数のデフォルト値を設定します。 変数が空または未割り当ての場合、代わりに指定されたデフォルト値が出力されます。
Index.php は以下の通りです:
$smarty->display('index.tpl');
パラメータ 位置 タイプ 必須 可能な値 デフォルト 説明
1 文字列 いいえ html,htmlall,url,quotes,hex,hexentity,javascript html 使用するエスケープ形式です
HTML トランスコーディング、URL トランスコーディング、トランスコードされていない変数の一重引用符の変換、16 進トランスコーディング、16 進整形、または JavaScript トランスコーディングに使用されます。
デフォルトは HTML トランスコーディングです
Index.php は以下の通りです:
$smarty->display('index.tpl');
Index.tpl テンプレート:
{$articleTitle|エスケープ}
{$articleTitle|escape:"html"} {* エスケープ & " ' > *}
{$articleTitle|escape:"htmlall"} {* すべての HTML エンティティをエスケープします *}
{$articleTitle|エスケープ:"url"}
{$articleTitle|エスケープ:"引用"}
href="{$EmailAddress|escape:"hexentity"}mailto:{$EmailAddress|escape:"hex"}">{$EmailAddress|escape:"hexentity"}
出力出力:
「厳しい%20反対%20期待%20to%20棺なし%20葬儀%20計画」
「厳しい%20反対%20期待%20to%20棺なし%20葬儀%20計画」
「厳しい%20反対%20期待%20to%20棺なし%20葬儀%20計画」
「堅い+反対+期待+へ+棺なし+葬儀+計画」
「棺のない葬儀計画には厳しい反対が予想される」
href="bob@me.netmailto:%62%6f%62%40%6d%65%2e%6e%65%74">bob@me.net
インデント(缩进)
パラメータ 位置 タイプ 必須 デフォルト 説明
1 整数 いいえ 4 インデントする文字数を決定します。
2 文字列 No (スペース 1 つ) インデントに使用する文字です。
在每行缩进字符串,默认是4个字符(梨标標準也是).
オプションのパラメータとして、缩进文字数を指定できます。
2 番目のオプションのパラメータとして、代わりに缩进用の文字を指定できます
Index.php如下:
$smarty->assign('articleTitle', 'ニュージャージー州の判事、ヌードビーチで判決へ。');
$smarty->display('index.tpl');
Index.tplモジュール板:
{$articleTitle|インデント}
{$articleTitle|インデント:10}
{$articleTitle|インデント:1:"t"}
出力出力:
今日は晴れか雨が予想されますが、今夜は暗いです
統計によると、10代の妊娠は25歳を過ぎると大幅に減少します
ニュージャージー州の判事、ヌードビーチに判決
今日は晴れか雨が予想されますが、今夜は暗いです
統計によると、10代の妊娠は25歳を過ぎると大幅に減少します
ニュージャージー州の判事、ヌードビーチに判決
今日は晴れか雨が予想されますが、今夜は暗いです
統計によると、10代の妊娠は25歳を過ぎると大幅に減少します
ニュージャージー州の判事、ヌードビーチに判決
今日は晴れか雨が予想されますが、今夜は暗いです
統計によると、10代の妊娠は25歳を過ぎると大幅に減少します
下(小写)
将变量字符串小写
Index.php如下:
$smarty->assign('articleTitle', '2 人の有罪判決者が縄を回避、陪審はハン。');
$smarty->display('index.tpl');
Index.tplモジュール板:
{$articleTitle|下}
出力出力:
nl2br(换行符代替换成
)
.同phpのnl2br()関数一样.に置き換えられます。 Index.php如下:
复制代码
Index.tplモジュール板:
复制代
复制代码
今夜は暗いです
regex_replace(定期置換)
正規表現を検索して置換します。
パラメータ 位置 タイプ 必須 デフォルト 説明
1 文字列 はい 該当なし これは置換される正規表現です。
正規表現を置き換えます。
2 文字列 はい n/a これは、置換するテキストの文字列です。
置換に使用するテキスト文字列
Index.php は以下の通りです:
$smarty->assign('articleTitle', "不妊症が遺伝する可能性は低い、と専門家は言う。");
$smarty->display('index.tpl');
Index.tpl テンプレート:
{$articleTitle}
{$articleTitle|regex_replace:"/[rtn]/":" "}
出力出力:
専門家によれば、引き継がれる可能性があります
不妊症が遺伝する可能性は低い、と専門家は言う
交換(交換)
シンプルな検索と文字列の置換
パラメータ 位置 タイプ 必須 デフォルト 説明
1 文字列 はい n/a これは、置換されるテキストの文字列です。
置換される文字列
2 文字列 はい 該当なし これは、置換するテキストの文字列です。
置換するテキスト
Index.php は以下の通りです:
$smarty->assign('articleTitle', "庭での使用に最適な子供用スツール。");
$smarty->display('index.tpl');
Index.tpl テンプレート:
{$articleTitle|replace:"庭園":"ブドウ園"}
{$articleTitle|置換:" ":" "}
出力出力:
ブドウ園での使用に最適な子供用スツールです。
庭での使用に最適な子供用スツール
スペースを取る
文字列の各文字の間にスペースや他の文字(文字列)を挿入する方法です。
Index.php は以下の通りです:
$smarty->assign('articleTitle', 'ジェット機の墜落で何か問題があったと専門家は言う。');
$smarty->display('index.tpl');
Index.tpl テンプレート:
{$articleTitle|空白化}
{$articleTitle|空白:"^^"}
出力出力:
ジェットクラッシュに何か問題がありました。専門家、よろしくお願いします。
S^^o^^m^^e^^t^^h^^i^^n^^g^^ ^^W^^e^^n^^t^^ ^^W^^r^^o ^^n^^g^^ ^^i^^n^^ ^^J^^e^^t^^ ^^C^^r^^a^^s^^h^^,^^ ^^E ^^x^^p^^e^^r^^t^^s^^ ^^S^^a^^y^^.
string_format(文字列形式)
パラメータ 位置 タイプ 必須 デフォルト 説明
1 文字列 はい 該当なし これが使用する形式です (sprintf)
使用されるフォーマット方法
浮動小数点数をフォーマットする方法です。たとえば、sprintf 構文を使用して
をフォーマットします。
Index.php は以下の通りです:
$smarty->assign('number', 23.5787446);
$smarty->display('index.tpl');
Index.tpl テンプレート:
{$number|string_format:"%.2f"}
{$number|string_format:"%d"}
出力出力:
23.58
24
strip (余分なスペースを削除)
繰り返されるスペース、改行、タブをすべて単一のものに置き換えます。
Index.php は以下の通りです:
$smarty->assign('articleTitle', "夜の祖母がホールインワンを作りました。");
$smarty->display('index.tpl');
Index.tpl テンプレート:
{$articleTitle|ストリップ}
{$articleTitle|ストリップ:" "}
出力出力:
の祖母 8 つでホールインワンになります
8 人の子供の祖母がホールインワンを達成しました。
8 人の子供の祖母がホールインワンを達成しました。
strip_tags(HTMLタグを削除)
の間のタグをすべて削除します。
Index.php は以下の通りです:
$smarty->display('index.tpl');
パラメータ 位置 タイプ 必須 デフォルト 説明
1 整数 No 80 これにより、切り詰められる文字数が決まります。
インターセプトする文字数を指定します
2 文字列 いいえ ... これは切り捨てが発生した場合に追加するテキストです。
インターセプトされ、インターセプトされた単語の後に追加される文字列
3 boolean No false これは、単語の境界で切り詰めるか (false)、文字そのもので切り詰めるか (true) を決定します。 単語の境界がインターセプトされているかどうかを確認します
文字列の先頭をインターセプトします。デフォルトは 80 です。
2 番目のパラメーターには、インターセプトされた文字列の後に追加する文字を指定できます。
デフォルトでは、smarty は単語の末尾をインターセプトします
正確に何文字をインターセプトしたい場合は、3 番目のパラメータを「true」に変更します
Index.php は以下の通りです:
Index.tpl テンプレート:
{$articleTitle|truncate:30:""}
{$articleTitle|truncate:30:"---"}
{$articleTitle|truncate:30:"":true}
{$articleTitle|truncate:30:"...":true}
出力出力:
二人の姉妹が再会
二人の姉妹の再会---
8時過ぎに姉妹が再会
二人の姉妹がE後に再会...
Index.php は以下の通りです:
Index.tpl テンプレート:
出力出力:
2 番目のパラメーターはオプションで、制約ポイントで使用する文字を指定できます (デフォルトは改行文字 n)。
デフォルトでは、smarty は単語の末尾までインターセプトしますが、インターセプトする正確な文字数を指定することもできます
パラメータ 位置 タイプ 必須 デフォルト 説明
1 整数 いいえ 80 これにより、ラップする列の数が決まります。
段落(文章)の幅を指定します
2 string No n これは単語をラップするために使用される文字列です。
どの文字制約を使用するか
3 boolean No false 単語の境界で折り返すか(false)、文字そのもので折り返すか(true)を決定します。
文字に正確に制限するかどうか
Index.php は以下の通りです:
コードをコピーします
$smarty->assign('articleTitle', "盲目の女性、何年も会っていなかった父親から新しい腎臓をもらいました。");
$smarty->display('index.tpl');
Index.tpl テンプレート:
{$articleTitle|ワードラップ:30}
{$articleTitle|ワードラップ:20}
{$articleTitle|wordwrap:30:"
n"}
{$articleTitle|wordwrap:30:"n":true}
出力出力:
盲目の女性が新しい腎臓を得る
会っていないお父さんから
年
盲目の女性が新しくなる
お父さんからの腎臓
で見ていない 年
盲目の女性が新しい腎臓を得る
何年も会っていないお父さんから
盲目の女性が新しい腎臓を得る
ああ、お父さん、彼女はもう何年も会っていない
s.
複数の演算子を組み合わせる
演算子は変数に適用でき、複数の演算子は「|」記号で区切る必要があります。 Index.php ページは次のとおりです:
$smarty->display('index.tpl');
{$articleTitle|下位|空白化|切り詰め}
{$articleTitle|下位|truncate:30|spacify}
{$articleTitle| lower|spacify|truncate:30:". . ."}
喫煙者は製品を販売していますが、カットが不十分です...
喫煙者は製品ですが、
喫煙者です
(ループの外に置きます)
ループ内)

phpssionsStrackuserdataacrossmultiplepagerequestsusingauniqueidstoredinacookie.here'showtomanageetheemefectively:1)Startassession withsession_start()andstoredatain $ _ session.2)RegeneratesseSsessidafterloginwithsession_id(the topreventes_id)

PHPでは、次の手順を通じてセッションデータを繰り返すことができます。1。session_start()を使用してセッションを開始します。 2。$ _Sessionアレイのすべてのキー価値ペアを介してforeachループを反復します。 3.複雑なデータ構造を処理する場合、is_array()またはis_object()関数を使用し、print_r()を使用して詳細情報を出力します。 4.トラバーサルを最適化する場合、ページングを使用して、一度に大量のデータの処理を避けることができます。これにより、実際のプロジェクトでPHPセッションデータをより効率的に管理および使用するのに役立ちます。

このセッションは、サーバー側の状態管理メカニズムを介してユーザー認証を実現します。 1)セッションの作成と一意のIDの生成、2)IDはCookieを介して渡されます。3)サーバーストアとIDを介してセッションデータにアクセスします。

tostoreauser'snameInappession、starthessession withsession_start()、thensignthenameto $ _session ['username']。1)ousession_start()toinitializethessession.2)assighttheuser'snameto $ _ session ['username']

PHPSESSIONの障害の理由には、構成エラー、Cookieの問題、セッションの有効期限が含まれます。 1。構成エラー:正しいセッションをチェックして設定します。save_path。 2.Cookieの問題:Cookieが正しく設定されていることを確認してください。 3.セッションの有効期限:セッションを調整してください。GC_MAXLIFETIME値はセッション時間を延長します。

PHPでセッションの問題をデバッグする方法は次のとおりです。1。セッションが正しく開始されるかどうかを確認します。 2.セッションIDの配信を確認します。 3.セッションデータのストレージと読み取りを確認します。 4.サーバーの構成を確認します。セッションIDとデータを出力し、セッションファイルのコンテンツを表示するなど、セッション関連の問題を効果的に診断して解決できます。

session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。

PHPでのセッションライフサイクルの構成は、session.gc_maxlifetimeとsession.cookie_lifetimeを設定することで達成できます。 1)session.gc_maxlifetimeサーバー側のセッションデータのサバイバル時間を制御します。 0に設定すると、ブラウザが閉じているとCookieが期限切れになります。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ホットトピック









