WP_HTML_Tag_Processor::seek( string $bookmark_name ): bool

Move the internal cursor in the Tag Processor to a given bookmark’s location.


Description

In order to prevent accidental infinite loops, there’s a maximum limit on the number of times seek() can be called.


Top ↑

Parameters

$bookmark_name string Required
Jump to the place in the document identified by this bookmark name.

Top ↑

Return

bool Whether the internal cursor was successfully moved to the bookmark's location.


Top ↑

Source

File: wp-includes/html-api/class-wp-html-tag-processor.php. View all references

public function seek( $bookmark_name ) {
	if ( ! array_key_exists( $bookmark_name, $this->bookmarks ) ) {
		_doing_it_wrong(
			__METHOD__,
			__( 'Unknown bookmark name.' ),
			'6.2.0'
		);
		return false;
	}

	if ( ++$this->seek_count > self::MAX_SEEK_OPS ) {
		_doing_it_wrong(
			__METHOD__,
			__( 'Too many calls to seek() - this can lead to performance issues.' ),
			'6.2.0'
		);
		return false;
	}

	// Flush out any pending updates to the document.
	$this->get_updated_html();

	// Point this tag processor before the sought tag opener and consume it.
	$this->bytes_already_parsed = $this->bookmarks[ $bookmark_name ]->start;
	return $this->next_tag( array( 'tag_closers' => 'visit' ) );
}


Top ↑

Changelog

Changelog
Version Description
6.2.0 Introduced.

Top ↑

User Contributed Notes

You must log in before being able to contribute a note or feedback.