dedecms模板原理,实现标签替换

正则匹配出所有的arclist标签并构造SQL

取出数据并替换field为相应字段的数据

为field标签添加一个function属性
 

<?php require_once(dirname(__FILE__)."/../include/common.inc.php"); //1. 读入模板文件 $str file_get_contents('test.html'); //2. 使用正则匹配出页面中所有的 arclist 标签 $re '/{dede:arclist(.*)}(.*){/dede:arclist}/Us'; // 执行正则匹配 // 第一个参数:正则  // 第二个参数:字符串 // 第三个参数:这个函数会把匹配到的结果放第三个参数的数组中 // 返回值:匹配到的个数 preg_match_all($re$str$a); //3. 循环每一个匹配到的arclist标签进行处理  foreach ($a[0] as $k => $v) {     /****************处理标签1.根据标签上的属性构造一个SQL语句 **************/     // 取出标签相应的属性字符串并把属性转化成一个数组,如 row="10" channelid="17" addfields="pffz,pfrs,yuyan" orderby="id" orderway="desc"     $attrArr = strToArray($a[1][$k]);     // 根据构造构造SQL语句上的变量     if(isset($attrArr['row']))         $limit $attrArr['row'];     else         $limit = 20;     if(isset($attrArr['orderby']))         $orderby $attrArr['orderby'
本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com