محتوى ملف Index.htm:
<html>
<الرأس>
<الجسم>
<!-- بدء فرز الصفوف -->
{قائمة الفرز<br>
<!-- نهاية فرز الصفوف -->
</الجسم>
</الرأس>
</html>
محتوى ملف Index.php:
<?
$t->set_file ("الفهرس"، "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("خارج");
?>
عملية التحليل التفصيلية:
1. $t->set_file ("Index"، "index.htm")؛ $this->file[index] = Index.htm
2. $t->set_block("Index", "RowSort", "RowsSort");
1. قم بتحميل محتوى ملف الفهرس Index.htm وقم بتعيينه للمتغير $this->varvals[index]
2. $str = $this->varvals[index] يحصل على محتوى ملف القالب
3. استخدم وظيفة preg_match_all لمطابقة المحتوى الموجود في الكتلة المقابلة (RowSort) في ملف القالب وتخزينه في $m[1][0]
4. استبدل المحتوى (بما في ذلك الرأس والذيل) في القفل (RowSort) بـ {RowSort}
5. المتغير $this->varvals[RowSort] = $m[1][0] , $this->varkeys[RowSort] = /{RowSort}/
6. المتغير $this->varvals[index] = $str (لقد تغير المحتوى، راجع الخطوة 4)، $this->varkeys[index] = /{index}/
3. $t->set_var("SortList", $list_sort);
set $this->varvals[SortList] = $list_sort;
اضبط $this->varkeys[SortList] = /{SortList}/
4. $t->parse("RowsSort"، "RowSort"، صحيح)؛ (تتكرر هذه العملية وفقًا لحجم الفرز)
1. استخدم الدالة الفرعية لمقارنة جميع قيم المتغيرات في $ this->varvals array إلى تلك التي قد تكون موجودة فيها، تتم معالجة الأحرف الخاصة و$ (ويتم استبدال $ بـ و $ على التوالي، وذلك لضمان عدم وقوع أي حوادث في preg_replace التالي)، ويتم تعيينها إلى $. مصفوفة varvals_quoted
2. $str = $this->varvals[RowSort]
3. يمكننا أن نرى أن $str يحتوي على {SortList} في هذا الوقت، ومن ثلاثة: $this->varkeys[SortList] = /{SortList}/, $this->varvals[SortList] = $list_sort
4. يمكن ملاحظة أن $str الذي حصلنا عليه بعد preg_replace هو المحتوى بعد تحليل متغير قالب PHP {SortList}، ويُرجع $str
5. قم بتنفيذ مهمة المتابعة إلى $this->varvals[RowSort] // هناك مشكلة هنا، قد تعتقد أن {RowSort} الأول لم يتم تحليله عند عرضه. لا تقلق، يحتوي phplib على وظيفة إنهاء ستتولى الأمر سيتم معالجة طلبك وفقًا لذلك
5. $t->parse("OUT", "Index");
1. يمكن ملاحظة أن هناك متغير قالب PHP في $this->varvals[index] المطلوب تحليله، وهو {RowSort}
2. في الخطوات السابقة، قمنا بتحليل محتويات $this->varvals[RowSort]
3. بهذه الطريقة، نقوم بتعيين المحتويات المحللة لجميع متغيرات قالب PHP إلى المتغير $this->varvals[OUT]
6. $t->p["OUT"];
من الواضح أن الدالة p في phplib هي دالة الإخراج ، يمكننا إخراج $this->varvals[OUT] مباشرة
// ما يجب ملاحظته هنا هو أن هناك إجراءً يقوم به phplib تلقائيًا قبل الإخراج، وهو معالجة متغيرات قالب PHP غير المحللة وفقًا لمتطلباتك.