Make WordPress Core

Changeset 61126


Ignore:
Timestamp:
11/04/2025 01:59:06 PM (3 months ago)
Author:
davidbaumwald
Message:

Command Palette: Use HTML_Tag_Processor to get the menu label when enqueueing assets, not regex.

HTML_Tag_Processor is more better.

Follow-up to [61022].

Props dmsnell, cbravobernal.
Fixes #64196.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/script-loader.php

    r61124 r61126  
    34433443
    34443444            // Remove all HTML tags and their contents.
    3445             $menu_label = $menu_item[0];
    3446             while ( preg_match( '/<[^>]*>/', $menu_label ) ) {
    3447                 $menu_label = preg_replace( '/<[^>]*>.*?<\/[^>]*>|<[^>]*\/>|<[^>]*>/s', '', $menu_label );
     3445            $processor = new WP_HTML_Tag_Processor( $menu_item[0] );
     3446            while ( $processor->next_token() ) {
     3447                if ( '#text' === $processor->get_token_name() ) {
     3448                    $menu_label .= $processor->get_modifiable_text();
     3449                }
    34483450            }
    34493451            $menu_label = trim( $menu_label );
     
    34723474
    34733475                    // Remove all HTML tags and their contents.
    3474                     $submenu_label = $submenu_item[0];
    3475                     while ( preg_match( '/<[^>]*>/', $submenu_label ) ) {
    3476                         $submenu_label = preg_replace( '/<[^>]*>.*?<\/[^>]*>|<[^>]*\/>|<[^>]*>/s', '', $submenu_label );
     3476                    $processor     = new WP_HTML_Tag_Processor( $submenu_item[0] );
     3477                    $submenu_label = '';
     3478                    while ( $processor->next_token() ) {
     3479                        if ( '#text' === $processor->get_token_name() ) {
     3480                            $submenu_label .= $processor->get_modifiable_text();
     3481                        }
    34773482                    }
    34783483                    $submenu_label = trim( $submenu_label );
Note: See TracChangeset for help on using the changeset viewer.