示例#1
0
 /**
  * get html dom from string
  * @param $str
  * @param bool $lowercase
  * @param bool $forceTagsClosed
  * @param $target_charset
  * @param bool $stripRN
  * @param $defaultBRText
  * @param $defaultSpanText
  * @return bool|Tree
  */
 static function buildFromString($str, $lowercase = true, $forceTagsClosed = true, $target_charset = self::DEFAULT_TARGET_CHARSET, $stripRN = true, $defaultBRText = self::DEFAULT_BR_TEXT, $defaultSpanText = self::DEFAULT_SPAN_TEXT)
 {
     $dom = new Tree(null, $lowercase, $forceTagsClosed, $target_charset, $stripRN, $defaultBRText, $defaultSpanText);
     if (empty($str) or strlen($str) > self::MAX_FILE_SIZE) {
         $dom->clear();
         return false;
     }
     $dom->load($str, $lowercase, $stripRN);
     return $dom;
 }
示例#2
0
            echo '<ul>';
            foreach ($tree as $node) {
                $selected = !empty($node['state']['selected']) ? 'checked' : '';
                echo "<li><input type=\"checkbox\" {$selected}>" . $node['name'];
                if (!empty($node['children'])) {
                    $this->printSelectTree($node['children']);
                }
                echo '</li>';
            }
            echo '</ul>';
        }
    }
}
//demo
//所有数据
$data = [['id' => 1, 'pid' => 0, 'name' => 'a'], ['id' => 2, 'pid' => 0, 'name' => 'b'], ['id' => 3, 'pid' => 0, 'name' => 'c'], ['id' => 4, 'pid' => 2, 'name' => 'd'], ['id' => 5, 'pid' => 1, 'name' => 'e'], ['id' => 6, 'pid' => 5, 'name' => 'f'], ['id' => 7, 'pid' => 5, 'name' => 'g'], ['id' => 8, 'pid' => 5, 'name' => 'h'], ['id' => 9, 'pid' => 4, 'name' => 'i'], ['id' => 10, 'pid' => 9, 'name' => 'j'], ['id' => 11, 'pid' => 0, 'name' => 'k']];
//有权限查看的数据
$allowed_data = [['id' => 1, 'pid' => 0, 'name' => 'a'], ['id' => 2, 'pid' => 0, 'name' => 'b'], ['id' => 10, 'pid' => 9, 'name' => 'j']];
//选中的数据
$selected_keys = [1, 2, 9];
$tree = new Tree();
$tree->load($data, $allowed_data, $selected_keys);
echo "<style>li{list-style-type:none;}</style>";
echo "完整树:<br/>";
$tree->printTree($tree->buildTree());
echo "------------------------------------------------------<br/>";
echo "有权限的树:<br/>";
$tree->printAllowedTree($tree->buildTree());
echo "------------------------------------------------------<br/>";
echo "有选择功能的树:<br/>";
$tree->printSelectTree($tree->buildTree());
示例#3
0
 /**
  * Load node children
  *
  * @param   int  $recursionLevel
  * @return  Node
  */
 public function loadChildren($recursionLevel = 0)
 {
     $this->_tree->load($this, $recursionLevel);
     return $this;
 }