Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliche Erläuterung der Verwendung und Beispiele des integrierten Variablenmediators in der PHP-Template-Engine Smarty

Ausführliche Erläuterung der Verwendung und Beispiele des integrierten Variablenmediators in der PHP-Template-Engine Smarty

墨辰丷
墨辰丷Original
2018-06-04 09:27:151136Durchsuche

In diesem Artikel wird hauptsächlich die Verwendung des integrierten Variablenmediators in der PHP-Vorlagen-Engine Smarty vorgestellt. Er analysiert die Definitions- und Verwendungsfähigkeiten häufig verwendeter integrierter Variablenmediatoren in Smarty anhand von Beispielen it

Der Variable Mediator in Smarty entspricht einer Funktion, und seine Aufrufmethode lautet: direkt gefolgt vom Namen der Mediatorfunktion durch „|“. Wenn Parameter vorhanden sind, müssen diese nach „:“ hinzugefügt werden. Wenn mehrere Parameter vorhanden sind, können diese akkumuliert werden.

Im Folgenden wird Ihnen der integrierte Variablenmediator in Smarty vorgestellt:

1. Ändern Sie den ersten Buchstaben von allen Wörter im variablen Kapital. Der Parameterwert ist ein boolescher Typ, der bestimmt, ob das erste Wort eines Wortes mit Zahlen großgeschrieben wird. Standardmäßig wird

index.php

$tpl->assign('str', 'hello world wor2ld!!!');
$tpl->display('index.html');

index.html (Vorlagendatei)

<{$str|capitalize}>
<{$str|capitalize:true}>

Das Ergebnis ist: Hello World world2ld!!!, Hello World Wor2Ld!!!

2. count_characters

Zähle die Anzahl von Zeichen in der Variablen: Der Mediator zählt standardmäßig keine Leerzeichen (Leerzeichen, Tabulatoren, Wagenrückläufe ...), sondern nur die Anzahl der Zeichen und kann die Berechnung chinesischer Zeichen gut unterstützen, wenn der Parameter true hinzugefügt wird gezählt. index.html

<{$str|count_characters}> // 不计算空格
<{$str|count_characters:true}> // 计算空格

Die Ergebnisse sind: 13, 14

3, Katze

Verketten Sie Zeichenfolgen und verbinden Sie den Wert in cat mit der angegebenen Variablen.

<{$str|cat:&#39; Happy new year.&#39;}>

Das Ergebnis ist: Hallo Welt!!! Frohes neues Jahr.

4. count_paragraphs

Berechnen Sie die Anzahl der Absätze, zählen Sie die Anzahl der Absätze in Variablen und unterstützen Sie chinesische Absätze perfekt. 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

Zählen 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 ist nur ein Beispiel für das chinesische 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

8. Standardwert: Legen Sie einen Standardwert für eine leere Variable fest Es wird der Standardwert verwendet.

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, wird für HTML-Transkodierung, URL-Transkodierung, Konvertierung verwendet einfache Anführungszeichen, hexadezimale Transkodierung, hexadezimale Verschönerung oder Javascript-Transkodierung für Variablen ohne 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. Lower

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 durch

ersetzt Alle Zeilenumbruchzeichen werden ersetzt, genau wie bei der PHP-Funktion nl2br().

14. regex_replace

Reguläres Ersetzen, reguläre Ausdrücke suchen und ersetzen, 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, Leerzeichen einfügen (ich weiß nicht, was dieses Wort bedeutet, genau wie der Name schon sagt ^^) ist eine Methode zum Einfügen Leerzeichen in jedes Zeichen einer Zeichenfolge. Fügen Sie Leerzeichen oder andere Zeichen (Zeichenfolgen) dazwischen ein.

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

Das String-Format 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 .

源代码:

Grandmother of eight makes hole in one.

19、strip_tags

去除在67bffed8d39c986beaddeed3e8cd5568之间的所有标签,包括67bffed8d39c986beaddeed3e8cd5568。

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()函数的定义及用法

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Verwendung und Beispiele des integrierten Variablenmediators in der PHP-Template-Engine Smarty. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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