WP_HTML_Tag_Processor::has_self_closing_flag()publicWP 6.3.0

Indicates if the currently matched tag contains the self-closing flag.

No HTML elements ought to have the self-closing flag and for those, the self-closing flag will be ignored. For void elements this is benign because they "self close" automatically. For non-void HTML elements though problems will appear if someone intends to use a self-closing element in place of that element with an empty body. For HTML foreign elements and custom elements the self-closing flag determines if they self-close or not.

This function does not determine if a tag is self-closing, but only if the self-closing flag is present in the syntax.

Method of the class: WP_HTML_Tag_Processor{}

No Hooks.

Return

true|false. Whether the currently matched tag contains the self-closing flag.

Usage

$WP_HTML_Tag_Processor = new WP_HTML_Tag_Processor();
$WP_HTML_Tag_Processor->has_self_closing_flag();

Changelog

Since 6.3.0 Introduced.

WP_HTML_Tag_Processor::has_self_closing_flag() code WP 6.6.2

public function has_self_closing_flag() {
	if ( self::STATE_MATCHED_TAG !== $this->parser_state ) {
		return false;
	}

	/*
	 * The self-closing flag is the solidus at the _end_ of the tag, not the beginning.
	 *
	 * Example:
	 *
	 *     <figure />
	 *             ^ this appears one character before the end of the closing ">".
	 */
	return '/' === $this->html[ $this->token_starts_at + $this->token_length - 2 ];
}