['attr' => 'time,format', 'close' => 0], // 闭合标签,默认为不闭合 'open' => ['attr' => 'name,type', 'close' => 1], 'nav' => ['attr' => 'id,limit,name', 'close' => 1], // 通用导航信息 // 'cate' => ['attr' => 'id,type,anchor', 'close' => 0], // 通用栏目信息 // 'position' => ['attr' => 'name', 'close' => 1], // 通用位置信息 // 'link' => ['attr' => 'name', 'close' => 1], // 获取友情链接 // 'ad' => ['attr' => 'name,id', 'close' => 1], // 获取广告信息 'listbycid' => ['attr' => 'cid,name,limit', 'close' => 1], // 通用列表 'listtime' => ['attr' => 'name,limit', 'close' => 1], // 时间归档 ); // 这是一个闭合标签的简单演示 public function tagClose($tag) { $format = empty($tag['format']) ? 'Y-m-d H:i:s' : $tag['format']; $time = empty($tag['time']) ? time() : $tag['time']; $parse = ''; return $parse; } // 这是一个非闭合标签的简单演示 public function tagOpen($tag, $content) { $type = empty($tag['type']) ? 0 : 1; // 这个type目的是为了区分类型,一般来源是数据库 $name = $tag['name']; // name是必填项,这里不做判断了 $parse = ''; $parse .= '{volist name="__LIST__" id="' . $name . '"}'; $parse .= $content; $parse .= '{/volist}'; return $parse; } // 文章列表 public function tagListbycid($tag, $content) { $cid = (int) $tag['cid']; // 不可以为空 $name = (string) $tag['name']; // 不可为空 $order = isset($tag['order']) ? (string) $tag['order'] : 'sort ASC,id DESC'; // 可为空 $limit = $tag['limit'] ? (int) $tag['limit'] : 10; // 多少条数据 $parse = ''; $parse .= '{volist name="list" id="' . $name . '"}'; $parse .= $content; $parse .= '{/volist}'; return $parse; } // public function tagListtime($tag, $content) { $name = (string) $tag['name']; // 不可为空 $limit = $tag['limit'] ? (int) $tag['limit'] : 0; // 多少条数据 0 不限制 $parse = ''; $parse .= '{volist name="list" id="' . $name . '"}'; $parse .= $content; $parse .= '{/volist}'; return $parse; } }