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. Built from https://develop.svn.wordpress.org/trunk@55988 git-svn-id: http://core.svn.wordpress.org/trunk@55500 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
@@ -205,14 +205,14 @@ function wp_is_local_html_output( $html ) {
|
||||
// 1. Check if HTML includes the site's Really Simple Discovery link.
|
||||
if ( has_action( 'wp_head', 'rsd_link' ) ) {
|
||||
$pattern = preg_replace( '#^https?:(?=//)#', '', esc_url( site_url( 'xmlrpc.php?rsd', 'rpc' ) ) ); // See rsd_link().
|
||||
return false !== strpos( $html, $pattern );
|
||||
return str_contains( $html, $pattern );
|
||||
}
|
||||
|
||||
// 2. Check if HTML includes the site's REST API link.
|
||||
if ( has_action( 'wp_head', 'rest_output_link_wp_head' ) ) {
|
||||
// Try both HTTPS and HTTP since the URL depends on context.
|
||||
$pattern = preg_replace( '#^https?:(?=//)#', '', esc_url( get_rest_url() ) ); // See rest_output_link_wp_head().
|
||||
return false !== strpos( $html, $pattern );
|
||||
return str_contains( $html, $pattern );
|
||||
}
|
||||
|
||||
// Otherwise the result cannot be determined.
|
||||
|
||||
Reference in New Issue
Block a user