['attr' => 'name', 'close' => 1], 'for' => ['attr' => 'start,end,search,attr'], 'volist' => ['attr' => 'name,id,search,attr'] ]; /** * 权限判断 */ public function tagCheck(array $tag, string $content): string { if (empty($tag['name'])) throw new Exception('tag attr "name" is must:'); $parse = "grant; if(in_array('$tag[name]', \$permission)):?>"; $parse .= $content; $parse .= ""; return $parse; } public function tagFor(array $tag, string $content): string { $start = $tag['start']; $end = $tag['end']; $search = $this->autoBuildVar($tag['search']); $attr = $tag['attr']; $parse = ''; $parse .= $content; $parse .= ''; return $parse; } public function tagVolist(array $tag, string $content): string { $name = $tag['name']; $id = $tag['id']; $search = $this->autoBuildVar($tag['search']); $attr = $tag['attr']; $parse = '$'.$id.'):'; $parse .= $search .' == $key?$select="' . $attr . '":$select="";'; $parse .= ' ?>'; $parse .= $content; $parse .= ''; return $parse; } }