WP_HTML_Unsupported_Exception
- Since
- 6.4.0, 6.7.0
- Source
wp-includes/html-api/class-wp-html-unsupported-exception.php:30
Core class used by the HTML processor during HTML parsing for indicating that a given operation is unsupported.
Description
This class is designed for internal use by the HTML processor.
The HTML API aims to operate in compliance with the HTML5 specification, but does not implement the full specification.
In cases where it lacks support it should not cause breakage or unexpected behavior. In the cases where it recognizes that it cannot proceed, this class is used to abort from any operation and signify that the given HTML cannot be processed.
Compatibility
- WordPress
- since 6.7.0
- 6.7.7
- 6.8.8
- 6.9.7
- 7.0.4
- 7.1.0
Present in every tracked release (6.7.7 to 7.1.0).
Properties · 5
$token_namestringpublic- Name of the matched token when the exception was raised, if matched on a token.
$token_atintpublic- Number of bytes into the input HTML document where the parser was parsing when the exception was raised.
$tokenstringpublic- Full raw text of the matched token when the exception was raised, if matched on a token.
$stack_of_open_elementsstring[]public- Stack of open elements when the exception was raised.
$active_formatting_elementsstring[]public- List of active formatting elements when the exception was raised.
Methods · 1
- __construct()Constructor function.
Source code
class WP_HTML_Unsupported_Exception extends Exception { /** * Name of the matched token when the exception was raised, * if matched on a token. * * This does not imply that the token itself was unsupported, but it * may have been the case that the token triggered part of the HTML * parsing that isn't supported, such as the adoption agency algorithm. * * @since 6.7.0 * * @var string */ public $token_name; /** * Number of bytes into the input HTML document where the parser was * parsing when the exception was raised. * * Use this to reconstruct context for the failure. * * @since 6.7.0 * * @var int */ public $token_at; /** * Full raw text of the matched token when the exception was raised, * if matched on a token. * * Whereas the `$token_name` will be normalized, this contains the full * raw text of the token, including original casing, duplicated attributes, * and other syntactic variations that are normally abstracted in the HTML API. * * @since 6.7.0 * * @var string */ public $token; /** * Stack of open elements when the exception was raised. * * Use this to trace the parsing circumstances which led to the exception. * * @since 6.7.0 * * @var string[] */ public $stack_of_open_elements = array(); /** * List of active formatting elements when the exception was raised. * * Use this to trace the parsing circumstances which led to the exception. * * @since 6.7.0 * * @var string[] */ public $active_formatting_elements = array(); /** * Constructor function. * * @since 6.7.0 * * @param string $message Brief message explaining what is unsupported, the reason this exception was raised. * @param string $token_name Normalized name of matched token when this exception was raised. * @param int $token_at Number of bytes into source HTML document where matched token starts. * @param string $token Full raw text of matched token when this exception was raised. * @param string[] $stack_of_open_elements Stack of open elements when this exception was raised. * @param string[] $active_formatting_elements List of active formatting elements when this exception was raised. */ public function __construct( string $message, string $token_name, int $token_at, string $token, array $stack_of_open_elements, array $active_formatting_elements ) { parent::__construct( $message ); $this->token_name = $token_name; $this->token_at = $token_at;Changelog
Introduced in 6.4.0. Unchanged from 6.7.7 through 7.1.0.
Signature, return type and hooks compared across 5 parsed releases.
6.7.0
Gained contextual information for use in debugging parse failures.from the docblock
6.4.0
Introduced.from the docblock
About this page
- Parsed data
- Generated from the wordpress-develop 7.1.0 tag, from
src/wp-includes/html-api/class-wp-html-unsupported-exception.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it. - Corrections
- Something wrong on this page? Report it and it gets fixed in the next regeneration.