Spaces:
Sleeping
Sleeping
/** | |
* HTML API: WP_HTML_Attribute_Token class | |
* | |
* @package WordPress | |
* @subpackage HTML-API | |
* @since 6.2.0 | |
*/ | |
/** | |
* Core class used by the HTML tag processor as a data structure for the attribute token, | |
* allowing to drastically improve performance. | |
* | |
* This class is for internal usage of the WP_HTML_Tag_Processor class. | |
* | |
* @access private | |
* @since 6.2.0 | |
* @since 6.5.0 Replaced `end` with `length` to more closely match `substr()`. | |
* | |
* @see WP_HTML_Tag_Processor | |
*/ | |
class WP_HTML_Attribute_Token { | |
/** | |
* Attribute name. | |
* | |
* @since 6.2.0 | |
* | |
* @var string | |
*/ | |
public $name; | |
/** | |
* Attribute value. | |
* | |
* @since 6.2.0 | |
* | |
* @var int | |
*/ | |
public $value_starts_at; | |
/** | |
* How many bytes the value occupies in the input HTML. | |
* | |
* @since 6.2.0 | |
* | |
* @var int | |
*/ | |
public $value_length; | |
/** | |
* The string offset where the attribute name starts. | |
* | |
* @since 6.2.0 | |
* | |
* @var int | |
*/ | |
public $start; | |
/** | |
* Byte length of text spanning the attribute inside a tag. | |
* | |
* This span starts at the first character of the attribute name | |
* and it ends after one of three cases: | |
* | |
* - at the end of the attribute name for boolean attributes. | |
* - at the end of the value for unquoted attributes. | |
* - at the final single or double quote for quoted attributes. | |
* | |
* Example: | |
* | |
* <div class="post"> | |
* ------------ length is 12, including quotes | |
* | |
* <input type="checked" checked id="selector"> | |
* ------- length is 6 | |
* | |
* <a rel=noopener> | |
* ------------ length is 11 | |
* | |
* @since 6.5.0 Replaced `end` with `length` to more closely match `substr()`. | |
* | |
* @var int | |
*/ | |
public $length; | |
/** | |
* Whether the attribute is a boolean attribute with value `true`. | |
* | |
* @since 6.2.0 | |
* | |
* @var bool | |
*/ | |
public $is_true; | |
/** | |
* Constructor. | |
* | |
* @since 6.2.0 | |
* @since 6.5.0 Replaced `end` with `length` to more closely match `substr()`. | |
* | |
* @param string $name Attribute name. | |
* @param int $value_start Attribute value. | |
* @param int $value_length Number of bytes attribute value spans. | |
* @param int $start The string offset where the attribute name starts. | |
* @param int $length Byte length of the entire attribute name or name and value pair expression. | |
* @param bool $is_true Whether the attribute is a boolean attribute with true value. | |
*/ | |
public function __construct( $name, $value_start, $value_length, $start, $length, $is_true ) { | |
$this->name = $name; | |
$this->value_starts_at = $value_start; | |
$this->value_length = $value_length; | |
$this->start = $start; | |
$this->length = $length; | |
$this->is_true = $is_true; | |
} | |
} | |