unction SetPanelTags() {
$rule = $this->bTag.''([^''.$this->eFlag.'']+)\/''.$this->eFlag;
preg_match_all(''/''.$rule.''/ism'', $this->html, $out_matches);
$this->TransTag($out_matches, ''panel''); unset($out_matches);
}
private function SetTrunkTags() {
$rule = $this->bTag.''(\w+)\s*([^''.$this->eFlag.'']*?)''.$this->eFlag.
''((?:(?!''.$this->bTag.'')[\S\s]*?|(?R))*)''.$this->eTag.''\\1\s*''.$this->eFlag;
preg_match_all(''/''.$rule.''/ism'', $this->html, $out_matches);
$this->TransTag($out_matches, ''trunk''); unset($out_matches);
}
private function TransTag($result, $type) {
if (!empty($result[0])) {
switch ($type) {
case ''panel'' : {
for ($i = 0; $i < count($result[0]); $i ++) {
$strTag = explode('' '', $result[$i], 2);
if (strpos($strTag[0], ''.'')) {
$itemArg = explode(''.'', $result[$i], 2);
$callFunc = Tags::$prefix.ucfirst($itemArg[0]);
if (method_exists(''Tags'', $callFunc)) {
$html = Tags::$callFunc(chop($itemArg));
if ($html !== false) {
$this->html = str_ireplace($result[0][$i], $html, $this->html);
}
}
} else {
$rule = ''^([^\s]+)\s*([\S\s]+)