Das Beispiel in diesem Artikel beschreibt die Verwendung des integrierten Variablenmediators der PHP-Template-Engine Smarty. Teilen Sie es als Referenz mit allen:
Der Variable Mediator in Smarty entspricht einer Funktion: Direkt gefolgt vom Namen der Mediatorfunktion durch „|“. Sind Parameter, müssen sie hinzugefügt werden. Wenn mehrere Parameter vorhanden sind, addieren Sie diese einfach.
Im Folgenden wird Ihnen der integrierte Variablenmediator in Smarty vorgestellt:
1. Großschreibung
Großschreiben Sie den ersten Buchstaben aller Wörter in der Variable. Der Parameterwert ist ein boolescher Typ, der bestimmt, ob das erste Wort eines Wortes mit Zahlen großgeschrieben wird. Standardmäßig wird nicht groß geschrieben
index.php
$tpl->assign('str', 'hello world wor2ld!!!'); $tpl->display('index.html');
index.html (Vorlagendatei)
<{$str|capitalize}> <{$str|capitalize:true}>
Das Ergebnis ist: Hallo Welt, Welt!!!, Hallo World Wor2Ld !!!
2. count_characters
zählt die Anzahl der Zeichen in der Variablen. Standardmäßig zählt der Mediator keine Leerzeichen (Leerzeichen, Tabulatoren, Wagenrückläufe...) und Zählt nur die Anzahl der Zeichen und kann die Berechnung chinesischer Zeichen sehr gut unterstützen.
index.html
<{$str|count_characters}> // 不计算空格 <{$str|count_characters:true}> // 计算空格
Die Ergebnisse sind: 13, 14
3, cat
Verbindungszeichenfolge, verbinden Sie den Wert in cat mit danach die gegebene Variable.
<{$str|cat:' Happy new year.'}>
Das Ergebnis ist: Hallo Welt!!! Frohes neues Jahr.
4. count_paragraphs
Berechnen die Anzahl der Absätze, berechnen Sie die Anzahl der Absätze in der Variablen und unterstützen Sie perfekt chinesische Absätze.
index.php
$str = <<assign('str', $str); $tpl->display('index.html');
index.html
<{$str|count_paragraphs}>
Das Ergebnis ist: 3
5 count_sentences
Zählen Sie die Anzahl der Sätze und zählen Sie die Anzahl der Sätze in der Variablen. Hinweis: Es werden nur englische Sätze unterstützt, Chinesisch wird nicht unterstützt.
index.php
$str = <<assign('str', $str);
index.html
<{$str|count_sentences}>
Das Ergebnis ist: 2
6 count_words
Berechnen Sie die Anzahl der Wörter und zählen Sie die Anzahl der Wörter in der Variablen.
index.php
$str = <<assign('str', $str);
index.html
<{$str|count_words}>
Das Ergebnis ist: 12
7. date_format
Datumsformatierung, es gibt viele spezifische Parameter, hier nur Beispiele für chinesisches Datumsformat
index.php
$tpl->assign('date', time()); // 传递时间戳
index.html
<{$date|date_format:'%Y-%m-%d %H:%M:%S'}>
Das Ergebnis ist: 2012 -01-26 14:37:22
Default
Default, legen Sie einen Standardwert für eine leere Variable fest. Wenn die Variable leer oder nicht zugeordnet ist, wird der angegebene Standardwert ausgegeben stattdessen.
index.php
$tpl->assign('str', ''); // 赋值给空
index.html
<{$str|default:'默认输出...'}>、<{$string|default:'没有定义,默认输出...'}>
Das Ergebnis ist: Standardausgabe..., keine Definition, Standardausgabe...
9. Escape
Transkodierung, verwendet für HTML-Transkodierung, URL-Transkodierung, in Single konvertieren Anführungszeichen für Variablen ohne Transkodierung, hexadezimale Transkodierung, hexadezimale Verschönerung oder Javascript-Transkodierung. Die Standardeinstellung ist HTML-Transkodierung
index.php
$html = <<Google html; $js = << for (var i=0; i<100; i++) { window.alert(i); } js; $tpl->assign('html', $html); // html $tpl->assign('url', 'http://www.google.com.hk'); // url $tpl->assign('js', $js); // javascript
index.html
HTML 转码:<{$html|escape:"html"}> URL 转码:<{$url|escape:"url"}> JS 转码:<{$js|escape:"javascript"}>
Das Ergebnis ist:
HTML 转码:Google URL 转码:http%3A%2F%2Fwww.google.com.hk JS 转码:
10. indent
indent, jede Zeile rückt eine Zeichenfolge ein, der erste Parameter gibt an, wie viele Zeichenfolgen eingerückt werden sollen, der Standardwert sind vier Zeichen; der zweite Parameter gibt an, welches Zeichen zum Ersetzen der Einrückung verwendet werden soll.
11. Kleinschreibung
Kleinschreibung, Kleinschreibung der Variablenzeichenfolge.
Verwendung: <{$str|lower}>
12. Großbuchstaben
Großbuchstaben, ändern Sie die Variable in Großbuchstaben.
Verwendung: <{$str|upper}>
13. nl2br
Zeilenumbrüche werden ersetzt durch
alle Zeilenumbrüche werden ersetzt es mit, das gleiche wie die nl2br()-Funktion von PHP.
14. regex_replace
Reguläres Ersetzen, Suchen und Ersetzen regulärer Ausdrücke, die Syntax ist die gleiche wie bei preg_replace().
index.php
$tpl->assign('str', 'http://www.google.com');
index.html
<{$str|regex_replace:'/go{2}gle/':'baidu'}>
Das Ergebnis ist: http://www.baidu.com
15. Ersetzen
Ersetzen, einfache Suche und Ersetzungszeichenfolge.
16. spacify
Leerzeichen einfügen (Ich weiß nicht, was dieses Wort bedeutet, genau wie der Name vermuten lässt^^). zwischen jedem Zeichen einer Zeichenkette (Zeichenfolge).
index.php
$tpl->assign('str', 'hello world!!!');
index.html
<{$str|spacify:"^^"}>
Das Ergebnis ist: h^^e^^l^^l^^o^^ ^^w^^o^^r^^l^^d^^!^^!^^!
17. string_format
Die Zeichenfolgenformatierung ist eine Methode zum Formatieren von Gleitkommazahlen, z. B. Dezimalzahlen. Verwenden Sie zum Formatieren die Sprintf-Syntax.
index.php
$tpl->assign('num', 23.5787446);
index.html
<{$num|string_format:"%.2f"}> <{$num|string_format:"%d"}>
Die Ergebnisse sind: 23.58, 23
18, Strip
Ersetzen Sie alle wiederholten Leerzeichen, Zeilenumbrüche und Tabulatoren in einer einzigen
index.php
$tpl->assign('str', "Grandmother of\neight makes\t hole in one.");
index.html
<{$str|strip:" "}>
Das Ergebnis ist: Großmutter von acht Löchern macht in einem.
Quellcode:
Großmutter von acht Kindern macht Hole in One.
19. Strip_tags
Entfernen Sie alle Zeichen zwischen < ;-Tags, einschließlich <
index.php
$tpl->assign('str', "Google");
index.html
<{$str|strip_tags}>
Das Ergebnis ist: Google (der Quellcode ist auch Google, mit entfernten Tags und Tags)
20, abschneiden
截取,截取字符串开始的一段.默认是80个,你可以指定第二个参数作为在截取的那段字符串后加上什么字符,默认情况下,smarty会截取到一个词的末尾,如果你想要精确的截取多少个字符,把第三个参数改为"true" 。
index.php
$tpl->assign('str', '从前有座山,山上有座庙。庙里有一个老和尚和一个小和尚...');
index.html
<{$str|truncate:10:'...':true}>
结果为:从前有座山,山...
希望本文所述对大家基于smarty模板的PHP程序设计有所帮助。
更多PHP模板引擎Smarty内置变量调解器用法详解相关文章请关注PHP中文网!