Heim  >  Artikel  >  php教程  >  Detaillierte Erläuterung der Verwendung des integrierten Variablenmediators der PHP-Template-Engine Smarty

Detaillierte Erläuterung der Verwendung des integrierten Variablenmediators der PHP-Template-Engine Smarty

高洛峰
高洛峰Original
2016-12-27 16:00:491219Durchsuche

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:&#39; Happy new year.&#39;}>

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(&#39;str&#39;, $str);
$tpl->display(&#39;index.html&#39;);

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(&#39;str&#39;, $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(&#39;str&#39;, $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(&#39;date&#39;, time()); // 传递时间戳

index.html

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

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(&#39;str&#39;, &#39;&#39;); // 赋值给空

index.html

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

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(&#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"}>

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: 750a9f85df50488af5b1b9f9539cd4b5

12. Großbuchstaben

Großbuchstaben, ändern Sie die Variable in Großbuchstaben.

Verwendung: 98cba6331cf99290e107dcab961d573a

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(&#39;str&#39;, &#39;http://www.google.com&#39;);

index.html

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

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(&#39;str&#39;, &#39;hello world!!!&#39;);

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(&#39;num&#39;, 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(&#39;str&#39;, "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(&#39;str&#39;, "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(&#39;str&#39;, &#39;从前有座山,山上有座庙。庙里有一个老和尚和一个小和尚...&#39;);

index.html

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

   

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

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

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn