: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
* HTML API: WP_HTML_Attribute_Token class
* 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.
* @since 6.5.0 Replaced `end` with `length` to more closely match `substr()`.
* @see WP_HTML_Tag_Processor
class WP_HTML_Attribute_Token {
* How many bytes the value occupies in the input HTML.
* The string offset where the attribute name starts.
* 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.
* ------------ length is 12, including quotes
* <input type="checked" checked id="selector">
* ------------ length is 11
* @since 6.5.0 Replaced `end` with `length` to more closely match `substr()`.
* Whether the attribute is a boolean attribute with value `true`.
* @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->value_starts_at = $value_start;
$this->value_length = $value_length;
$this->is_true = $is_true;