Make WordPress Core


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

    r55642 r55988  
    510510
    511511        foreach ( $endians as $endian ) {
    512             if ( false !== strpos( $this->permalink_structure, $endian ) ) {
     512            if ( str_contains( $this->permalink_structure, $endian ) ) {
    513513                $date_endian = $endian;
    514514                break;
     
    16611661            $query    = add_query_arg( $query, 'index.php' );
    16621662        } else {
    1663             $index = false === strpos( $query, '?' ) ? strlen( $query ) : strpos( $query, '?' );
     1663            $index = ! str_contains( $query, '?' ) ? strlen( $query ) : strpos( $query, '?' );
    16641664            $front = substr( $query, 0, $index );
    16651665
Note: See TracChangeset for help on using the changeset viewer.