public static function tag( $name, $content = '', $options = [] ) {
		if ( $name === NULL || $name === FALSE ) {
			return $content;
		}
		$html = "<$name" . static::renderTagAttributes( $options ) . '>';
		
		return isset( static::$voidElements[ strtolower( $name ) ] ) ? $html : "$html$content</$name>";
	}
public static function tag( $name, $content = '', $options = [] ) {
		if ( $name === NULL || $name === FALSE ) {
			return $content;
		}
		$html = "<$name" . static::renderTagAttributes( $options ) . '>';
		
		return isset( static::$voidElements[ strtolower( $name ) ] ) ? $html : "$html$content</$name>";
	}
public static function tag ( $ name , $ content = '' , $ options = [ ] ) { if ( $ name === NULL || $ name === FALSE ) { return $ content ; } $ html = "<$name" . static :: renderTagAttributes ( $ options ) . '>' ; return isset ( static :: $ voidElements [ strtolower ( $ name ) ] ) ? $ html : "$html$content</$name>" ; }
Generates a complete HTML tag.

@param string|boolean|null $name the tag name. If $name is `null` or `false`, the corresponding content will be
rendered without any tag.
@param string $content the content to be enclosed between the start and end tags. It will not be HTML-encoded.
If this is coming from end users, you should consider [[encode()]] it to prevent XSS attacks.
@param array $options the HTML tag attributes (HTML options) in terms of name-value pairs.
These will be rendered as the attributes of the resulting tag. The values will be HTML-encoded using
[[encode()]]. If a value is null, the corresponding attribute will not be rendered.

For example when using `['class' => 'my-class', 'target' => '_blank', 'value' => null]` it will result in the
html attributes rendered like this: `class="my-class" target="_blank"`.

See [[renderTagAttributes()]] for details on how attributes are being rendered.

@return string the generated HTML tag
@see beginTag()
@see endTag()
Generates a complete HTML tag .