original_string: public static function open($tag, array $options = [], $self = false)
      {
          $attributes = self::attributes($options);
  
          //add the opened tag to $opened array
          if (!$self || is_null($self)) {
              self::$opened[] = $tag;
              //
              return '<'.$tag.$attributes.'>';
          } else {
              return '<'.$tag.$attributes.' />';
          }
      }
code: public static function open($tag, array $options = [], $self = false)
      {
          $attributes = self::attributes($options);
  
          //add the opened tag to $opened array
          if (!$self || is_null($self)) {
              self::$opened[] = $tag;
              //
              return '<'.$tag.$attributes.'>';
          } else {
              return '<'.$tag.$attributes.' />';
          }
      }
code_tokens: public static function open ( $ tag , array $ options = [ ] , $ self = false ) { $ attributes = self :: attributes ( $ options ) ; //add the opened tag to $opened array if ( ! $ self || is_null ( $ self ) ) { self :: $ opened [ ] = $ tag ; // return '<' . $ tag . $ attributes . '>' ; } else { return '<' . $ tag . $ attributes . ' />' ; } }
docstring: open html tag.
  
  @param string $tag
  @param array  $options
  
  @return string
docstring_tokens: open html tag .