note 125913 added to function.str-starts-with
| From: | jgusta@php.net | Date: | Thu, 11 Mar 2021 22:14:39 +0000 |
| Subject: | note 125913 added to function.str-starts-with | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-219142@lists.php.net to get a copy of this message | ||
With credit to Paul Phillips for the original polyfill posted.
If you do not have PHP 8, you can use these functions to get the capability of the new string
functions.
But! Remember to use a conditional check to make sure the function is not already defined.
<?php
// source: Laravel Framework
// https://github.com/laravel/framework/blob/8.x/src/Illuminate/Support/Str.php
if (!function_exists('str_starts_with')) {
function str_starts_with($haystack, $needle) {
return (string)$needle !== '' && strncmp($haystack, $needle, strlen($needle))
=== 0;
}
}
if (!function_exists('str_ends_with')) {
function str_ends_with($haystack, $needle) {
return $needle !== '' && substr($haystack, -strlen($needle)) ===
(string)$needle;
}
}
if (!function_exists('str_contains')) {
function str_contains($haystack, $needle) {
return $needle !== '' && mb_strpos($haystack, $needle) !== false;
}
}
?>
This keeps it from breaking in case you upgrade and forget that you added it. This is a good
practice generally when using the global scope for your helper functions.
----
Server IP: 45.112.84.4
Probable Submitter: 45.112.85.242 (proxied: 98.234.233.200)
----
Manual Page -- http://php.net/manual/en/function.str-starts-with.php
Edit -- https://master.php.net/note/edit/125913
Del: integrated -- https://master.php.net/note/delete/125913/integrated
Del: useless -- https://master.php.net/note/delete/125913/useless
Del: bad code -- https://master.php.net/note/delete/125913/bad+code
Del: spam -- https://master.php.net/note/delete/125913/spam
Del: non-english -- https://master.php.net/note/delete/125913/non-english
Del: in docs -- https://master.php.net/note/delete/125913/in+docs
Del: other reasons-- https://master.php.net/note/delete/125913
Reject -- https://master.php.net/note/reject/125913
Search -- https://master.php.net/manage/user-notes.php