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:
Sergey Biryukov
2023-06-22 14:36:26 +00:00
parent b916b71dde
commit 1ce5dc7444
101 changed files with 253 additions and 253 deletions

View File

@@ -147,7 +147,7 @@ function shortcode_exists( $tag ) {
* @return bool Whether the passed content contains the given shortcode.
*/
function has_shortcode( $content, $tag ) {
if ( false === strpos( $content, '[' ) ) {
if ( ! str_contains( $content, '[' ) ) {
return false;
}
@@ -205,7 +205,7 @@ function apply_shortcodes( $content, $ignore_html = false ) {
function do_shortcode( $content, $ignore_html = false ) {
global $shortcode_tags;
if ( false === strpos( $content, '[' ) ) {
if ( ! str_contains( $content, '[' ) ) {
return $content;
}
@@ -412,8 +412,8 @@ function do_shortcodes_in_html_tags( $content, $ignore_html, $tagnames ) {
continue;
}
$noopen = false === strpos( $element, '[' );
$noclose = false === strpos( $element, ']' );
$noopen = ! str_contains( $element, '[' );
$noclose = ! str_contains( $element, ']' );
if ( $noopen || $noclose ) {
// This element does not contain shortcodes.
if ( $noopen xor $noclose ) {
@@ -559,7 +559,7 @@ function shortcode_parse_atts( $text ) {
// Reject any unclosed HTML elements.
foreach ( $atts as &$value ) {
if ( false !== strpos( $value, '<' ) ) {
if ( str_contains( $value, '<' ) ) {
if ( 1 !== preg_match( '/^[^<]*+(?:<[^>]*+>[^<]*+)*+$/', $value ) ) {
$value = '';
}
@@ -634,7 +634,7 @@ function shortcode_atts( $pairs, $atts, $shortcode = '' ) {
function strip_shortcodes( $content ) {
global $shortcode_tags;
if ( false === strpos( $content, '[' ) ) {
if ( ! str_contains( $content, '[' ) ) {
return $content;
}