wppaste
WordPress

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

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.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 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.