src/bbn/parsers/doc.php
private function get(string $tag, string $memberof = '', bool $grouped = true){
    if ( empty($this->parsed) ){
      $this->parse();
    }
    if ( !empty($this->parsed) ){
      $res = [];
      foreach ( $this->parsed as $p ){
        if (
          !empty($p['tags']) &&
          (($i = \bbn\x::find($p['tags'], ['tag' => $tag])) !== false) &&
          (
            (
              empty($memberof) &&
              (\bbn\x::find($p['tags'], ['tag' => 'memberof']) === false)
            ) ||
            (
              !empty($memberof) &&
              (($k = \bbn\x::find($p['tags'], ['tag' => 'memberof'])) !== false) &&
              ($p['tags'][$k]['name'] === $memberof)
            )
          )
        ){
          if ( $grouped ){
            $tmp = $p['tags'][$i];
            if ( $p['tags'][$i]['tag'] !== 'file' ){
              $tmp['description'] = $p['description'];
            }
            unset($p['tags'][$i], $tmp['tag']);
            $res[] = array_merge($tmp, $this->group_tags($p['tags']));
          }
          else {
            $res = array_map(function($t){
              unset($t['tag']);
              return $t;
            }, $p['tags']);
          }
        }
      }
      return $res;
    }
    return false;
  }
private function get(string $tag, string $memberof = '', bool $grouped = true){
    if ( empty($this->parsed) ){
      $this->parse();
    }
    if ( !empty($this->parsed) ){
      $res = [];
      foreach ( $this->parsed as $p ){
        if (
          !empty($p['tags']) &&
          (($i = \bbn\x::find($p['tags'], ['tag' => $tag])) !== false) &&
          (
            (
              empty($memberof) &&
              (\bbn\x::find($p['tags'], ['tag' => 'memberof']) === false)
            ) ||
            (
              !empty($memberof) &&
              (($k = \bbn\x::find($p['tags'], ['tag' => 'memberof'])) !== false) &&
              ($p['tags'][$k]['name'] === $memberof)
            )
          )
        ){
          if ( $grouped ){
            $tmp = $p['tags'][$i];
            if ( $p['tags'][$i]['tag'] !== 'file' ){
              $tmp['description'] = $p['description'];
            }
            unset($p['tags'][$i], $tmp['tag']);
            $res[] = array_merge($tmp, $this->group_tags($p['tags']));
          }
          else {
            $res = array_map(function($t){
              unset($t['tag']);
              return $t;
            }, $p['tags']);
          }
        }
      }
      return $res;
    }
    return false;
  }
private function get ( string $ tag , string $ memberof = '' , bool $ grouped = true ) { if ( empty ( $ this -> parsed ) ) { $ this -> parse ( ) ; } if ( ! empty ( $ this -> parsed ) ) { $ res = [ ] ; foreach ( $ this -> parsed as $ p ) { if ( ! empty ( $ p [ 'tags' ] ) && ( ( $ i = \ bbn \ x :: find ( $ p [ 'tags' ] , [ 'tag' => $ tag ] ) ) !== false ) && ( ( empty ( $ memberof ) && ( \ bbn \ x :: find ( $ p [ 'tags' ] , [ 'tag' => 'memberof' ] ) === false ) ) || ( ! empty ( $ memberof ) && ( ( $ k = \ bbn \ x :: find ( $ p [ 'tags' ] , [ 'tag' => 'memberof' ] ) ) !== false ) && ( $ p [ 'tags' ] [ $ k ] [ 'name' ] === $ memberof ) ) ) ) { if ( $ grouped ) { $ tmp = $ p [ 'tags' ] [ $ i ] ; if ( $ p [ 'tags' ] [ $ i ] [ 'tag' ] !== 'file' ) { $ tmp [ 'description' ] = $ p [ 'description' ] ; } unset ( $ p [ 'tags' ] [ $ i ] , $ tmp [ 'tag' ] ) ; $ res [ ] = array_merge ( $ tmp , $ this -> group_tags ( $ p [ 'tags' ] ) ) ; } else { $ res = array_map ( function ( $ t ) { unset ( $ t [ 'tag' ] ) ; return $ t ; } , $ p [ 'tags' ] ) ; } } } return $ res ; } return false ; }
Parses the parsed array to get an array of the given tag

@param string $tag The tag name
@param string $memberof The parent tag name
@return array|false
Parses the parsed array to get an array of the given tag