| 1: | <?php
|
| 2: |
|
| 3: | function oc_strlen(string $string): int {
|
| 4: | return mb_strlen($string);
|
| 5: | }
|
| 6: |
|
| 7: | |
| 8: | |
| 9: | |
| 10: | |
| 11: | |
| 12: | |
| 13: |
|
| 14: | function oc_strpos(string $string, string $needle, int $offset = 0) {
|
| 15: | return mb_strpos($string, $needle, $offset);
|
| 16: | }
|
| 17: |
|
| 18: | |
| 19: | |
| 20: | |
| 21: | |
| 22: | |
| 23: | |
| 24: |
|
| 25: | function oc_strrpos(string $string, string $needle, int $offset = 0) {
|
| 26: | return mb_strrpos($string, $needle, $offset);
|
| 27: | }
|
| 28: |
|
| 29: | function oc_substr(string $string, int $offset, ?int $length = null): string {
|
| 30: | return mb_substr($string, $offset, $length);
|
| 31: | }
|
| 32: |
|
| 33: | function oc_strtoupper(string $string): string {
|
| 34: | return mb_strtoupper($string);
|
| 35: | }
|
| 36: |
|
| 37: | function oc_strtolower(string $string): string {
|
| 38: | return mb_strtolower($string);
|
| 39: | }
|
| 40: |
|
| 41: |
|
| 42: | function oc_token(int $length = 32): string {
|
| 43: | return substr(bin2hex(random_bytes($length)), 0, $length);
|
| 44: | }
|
| 45: |
|
| 46: |
|
| 47: | if (!function_exists('str_starts_with')) {
|
| 48: | function str_starts_with(string $string, string $find): bool {
|
| 49: | $substring = substr($string, strlen($find));
|
| 50: |
|
| 51: | if ($substring === $find) {
|
| 52: | return true;
|
| 53: | } else {
|
| 54: | return false;
|
| 55: | }
|
| 56: | }
|
| 57: | }
|
| 58: |
|
| 59: | if (!function_exists('str_ends_with')) {
|
| 60: | function str_ends_with(string $string, string $find): bool {
|
| 61: | return substr($string, -strlen($find)) === $find;
|
| 62: | }
|
| 63: | }
|
| 64: | |