HTML API: Fix finding bookmarks set on closing tag WP_HTML_Tag_Processor.
Setting a bookmark on a tag should set its "start" position before the opening "<", e.g.: {{{ <div> Testing a <b>Bookmark</b> ----------------^ }}} The previous calculation assumed this is always one byte to the left from `$tag_name_starts_at`. However, in a closing tag that index points to a solidus symbol "/": {{{ <div> Testing a <b>Bookmark</b> ----------------------------^ }}} The bookmark should therefore start two bytes before the tag name: {{{ <div> Testing a <b>Bookmark</b> ---------------------------^ }}} This changeset achieves this by: * Using the correct starting index for closing tag bookmarks. * Adding `array( 'tag_closers' => 'visit' )` in `WP_HTML_Tag_Processor::seek()`. Follow-up to [55203]. Props zieladam, dmsnell, flixos90. Fixes #57787. See #57575. Built from https://develop.svn.wordpress.org/trunk@55407 git-svn-id: http://core.svn.wordpress.org/trunk@54940 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
ffc55e249f
commit
1579f32cc6
|
@ -722,7 +722,7 @@ class WP_HTML_Tag_Processor {
|
|||
}
|
||||
|
||||
$this->bookmarks[ $name ] = new WP_HTML_Span(
|
||||
$this->tag_name_starts_at - 1,
|
||||
$this->tag_name_starts_at - ( $this->is_closing_tag ? 2 : 1 ),
|
||||
$this->tag_ends_at
|
||||
);
|
||||
|
||||
|
@ -1504,7 +1504,7 @@ class WP_HTML_Tag_Processor {
|
|||
$this->bytes_already_parsed = $this->bookmarks[ $bookmark_name ]->start;
|
||||
$this->bytes_already_copied = $this->bytes_already_parsed;
|
||||
$this->output_buffer = substr( $this->html, 0, $this->bytes_already_copied );
|
||||
return $this->next_tag();
|
||||
return $this->next_tag( array( 'tag_closers' => 'visit' ) );
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
*
|
||||
* @global string $wp_version
|
||||
*/
|
||||
$wp_version = '6.2-beta3-55406';
|
||||
$wp_version = '6.2-beta3-55407';
|
||||
|
||||
/**
|
||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||
|
|
Loading…
Reference in New Issue