Make WordPress Core


Ignore:
Timestamp:
06/22/2023 02:34:56 PM (16 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/rewrite.php

    r55703 r55988  
    543543
    544544    // Add 'www.' if it is absent and should be there.
    545     if ( false !== strpos( home_url(), '://www.' ) && false === strpos( $url, '://www.' ) ) {
     545    if ( str_contains( home_url(), '://www.' ) && ! str_contains( $url, '://www.' ) ) {
    546546        $url = str_replace( '://', '://www.', $url );
    547547    }
    548548
    549549    // Strip 'www.' if it is present and shouldn't be.
    550     if ( false === strpos( home_url(), '://www.' ) ) {
     550    if ( ! str_contains( home_url(), '://www.' ) ) {
    551551        $url = str_replace( '://www.', '://', $url );
    552552    }
     
    573573    }
    574574
    575     if ( false !== strpos( trailingslashit( $url ), home_url( '/' ) ) ) {
     575    if ( str_contains( trailingslashit( $url ), home_url( '/' ) ) ) {
    576576        // Chop off http://domain.com/[path].
    577577        $url = str_replace( home_url(), '', $url );
Note: See TracChangeset for help on using the changeset viewer.