Make WordPress Core


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

    r55732 r55988  
    14981498
    14991499        // This is not meant to be foolproof -- but it will catch obviously incorrect usage.
    1500         if ( strpos( $query, '%' ) === false ) {
     1500        if ( ! str_contains( $query, '%' ) ) {
    15011501            wp_load_translations_early();
    15021502            _doing_it_wrong(
     
    40694069                 * mysqlnd has supported utf8mb4 since 5.0.9.
    40704070                 */
    4071                 if ( false !== strpos( $client_version, 'mysqlnd' ) ) {
     4071                if ( str_contains( $client_version, 'mysqlnd' ) ) {
    40724072                    $client_version = preg_replace( '/^\D+([\d.]+).*/', '$1', $client_version );
    40734073                    return version_compare( $client_version, '5.0.9', '>=' );
Note: See TracChangeset for help on using the changeset viewer.