Make WordPress Core


Ignore:
Timestamp:
06/22/2023 02:34:56 PM (10 months ago)
Author:
SergeyBiryukov
Message:

Code Modernization: Replace usage of strpos() with str_contains().

str_contains() was introduced in PHP 8.0 to perform a case-sensitive check indicating if the string to search in (haystack) contains the given substring (needle).

WordPress core includes a polyfill for str_contains() on PHP < 8.0 as of WordPress 5.9.

This commit replaces false !== strpos( ... ) with str_contains() in core files, making the code more readable and consistent, as well as better aligned with modern development practices.

Follow-up to [52039], [52040], [52326], [55703], [55710], [55987].

Props Soean, spacedmonkey, costdev, dingo_d, azaozz, mikeschroder, flixos90, peterwilsoncc, SergeyBiryukov.
Fixes #58206.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/https-detection.php

    r55620 r55988  
    206206    if ( has_action( 'wp_head', 'rsd_link' ) ) {
    207207        $pattern = preg_replace( '#^https?:(?=//)#', '', esc_url( site_url( 'xmlrpc.php?rsd', 'rpc' ) ) ); // See rsd_link().
    208         return false !== strpos( $html, $pattern );
     208        return str_contains( $html, $pattern );
    209209    }
    210210
     
    213213        // Try both HTTPS and HTTP since the URL depends on context.
    214214        $pattern = preg_replace( '#^https?:(?=//)#', '', esc_url( get_rest_url() ) ); // See rest_output_link_wp_head().
    215         return false !== strpos( $html, $pattern );
     215        return str_contains( $html, $pattern );
    216216    }
    217217
Note: See TracChangeset for help on using the changeset viewer.