Inhalt der Datei index.htm:
<html>
<Kopf>
<Körper>
<!-- BEGIN RowSort -->
{SortList}<br>
<!-- END RowSort -->
</body>
</head>
</html>
index.php Inhalt:
<?
$t->set_file ("Index", "index.htm");
$t->set_block("Index", "RowSort", "RowsSort");
................................................. ..
.............$list_sort........................
$t->set_var("SortList", $list_sort);
$t->parse("RowsSort", "RowSort", true);
................................................. ..
................................................. ..
$t->parse("OUT", "Index");
$t->p("OUT");
?>
Detaillierter Analyseprozess:
1. $t->set_file ("Index", "index.htm"); $this->file[index] = index.htm
2. $t->set_block("Index", "RowSort", "RowsSort");
1. Laden Sie den Inhalt der Indexdatei index.htm und weisen Sie ihn der Variablen $this->varvals[index] zu.
2. $str = $this->varvals[index] ruft den Inhalt der Vorlagendatei ab
3. Verwenden Sie die Funktion preg_match_all, um den Inhalt im entsprechenden Block (RowSort) in der Vorlagendatei abzugleichen und ihn in $m[1][0] zu speichern.
4. Ersetzen Sie den Inhalt (einschließlich Kopf und Ende) in Sperre (RowSort) durch {RowSort}
5. Variable $this->varvals[RowSort] = $m[1][0] , $this->varkeys[RowSort] = /{RowSort}/
6. Variable $this->varvals[index] = $str (der Inhalt hat sich geändert, siehe Schritt 4), $this->varkeys[index] = /{index}/
3. $t->set_var("SortList", $list_sort);
set $this->varvals[SortList] = $list_sort
Setze $this->varkeys[SortList] = /{SortList}/
4. $t->parse("RowsSort", "RowSort", true); (Dieser Vorgang wird entsprechend der Größe der Sortierung wiederholt)
1. Verwenden Sie die Funktion subst, um alle Variablenwerte im $ zu vergleichen this->varvals-Array zu den darin möglicherweise enthaltenen Sonderzeichen und $ werden verarbeitet (und $ durch bzw. ersetzt, um sicherzustellen, dass beim nächsten preg_replace keine Unfälle auftreten) und dem $ zugewiesen varvals_quoted-Array
2. $str = $this->varvals[RowSort]
3. Wir können sehen, dass $str zu diesem Zeitpunkt eine {SortList} enthält, und aus drei: $this->varkeys[SortList] = /{SortList}/, $this->varvals[SortList] = $list_sort
4. Es ist ersichtlich, dass der $str, den wir nach preg_replace erhalten, der Inhalt nach dem Parsen der PHP-Vorlagenvariablen {SortList} ist und $str zurückgibt
5. Führen Sie eine Fortsetzungszuweisung zu $this->varvals[RowSort] durch. // Hier liegt ein Problem vor. Sie können davon ausgehen, dass die erste {RowSort} nicht analysiert wird, wenn sie angezeigt wird. Keine Sorge, phplib verfügt über eine Finish-Funktion, die dies erledigt Dabei wird Ihre Anfrage entsprechend der Bearbeitung bearbeitet
5. $t->parse("OUT", "Index");
1. Es ist ersichtlich, dass in $this->varvals[index] eine zu analysierende PHP-Vorlagenvariable vorhanden ist, nämlich {RowSort}
2. In den vorherigen Schritten haben wir den Inhalt von $this->varvals[RowSort] analysiert.
3. Auf diese Weise weisen wir den analysierten Inhalt aller PHP-Vorlagenvariablen der Variablen $this->varvals[OUT] zu.
6. $t->p["OUT"]
Offensichtlich ist die p-Funktion in phplib die Ausgabefunktion , wir können $this->varvals[OUT] direkt ausgeben
//Hier ist zu beachten, dass phplib vor der Ausgabe automatisch eine Aktion ausführt, nämlich die nicht geparsten PHP-Vorlagenvariablen entsprechend Ihren Anforderungen zu verarbeiten.