Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Code modernization: Replace usage of strpos with str_contains #32863

Closed
Tracked by #32865
jeherve opened this issue Sep 5, 2023 · 1 comment · Fixed by #34137
Closed
Tracked by #32865

Code modernization: Replace usage of strpos with str_contains #32863

jeherve opened this issue Sep 5, 2023 · 1 comment · Fixed by #34137

Comments

@jeherve
Copy link
Member

jeherve commented Sep 5, 2023

Source: https://core.trac.wordpress.org/ticket/58206

Let's follow Core's lead once Jetpack requires WordPress 6.3.

Primary issue: #32865

@jeherve jeherve changed the title Code modernization: Replace usage of strpos with str_contains core.trac.wordpress.org/ticket/58206 Code modernization: Replace usage of strpos with str_contains Sep 5, 2023
@anomiex
Copy link
Contributor

anomiex commented Sep 5, 2023

Note we can only do that in contexts that run under WordPress. Code that is intended to be useful outside of WordPress won't have WordPress's polyfill.

@jeherve jeherve self-assigned this Nov 13, 2023
jeherve added a commit that referenced this issue Nov 15, 2023
Fixes #32863

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 strpos() with str_contains(), making the code more readable and consistent, as well as better aligned with modern development practices.

Related core ticket: https://core.trac.wordpress.org/ticket/58206

Note: this does not make changes in a few places:
- The Analyzer, Autoloader, Changelogger, WAF packages
- The VaultPress plugin since it can still be used on older versions of WordPress, where the str_starts_with() shim did not exist.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants