104fd306cSNickeau<?php 204fd306cSNickeau 304fd306cSNickeau/* 404fd306cSNickeau * This file is part of the Symfony package. 504fd306cSNickeau * 604fd306cSNickeau * (c) Fabien Potencier <fabien@symfony.com> 704fd306cSNickeau * 804fd306cSNickeau * For the full copyright and license information, please view the LICENSE 904fd306cSNickeau * file that was distributed with this source code. 1004fd306cSNickeau */ 1104fd306cSNickeau 1204fd306cSNickeauuse Symfony\Polyfill\Mbstring as p; 1304fd306cSNickeau 1404fd306cSNickeauif (!function_exists('mb_convert_encoding')) { 1504fd306cSNickeau function mb_convert_encoding(array|string|null $string, ?string $to_encoding, array|string|null $from_encoding = null): array|string|false { return p\Mbstring::mb_convert_encoding($string ?? '', (string) $to_encoding, $from_encoding); } 1604fd306cSNickeau} 1704fd306cSNickeauif (!function_exists('mb_decode_mimeheader')) { 1804fd306cSNickeau function mb_decode_mimeheader(?string $string): string { return p\Mbstring::mb_decode_mimeheader((string) $string); } 1904fd306cSNickeau} 2004fd306cSNickeauif (!function_exists('mb_encode_mimeheader')) { 2104fd306cSNickeau function mb_encode_mimeheader(?string $string, ?string $charset = null, ?string $transfer_encoding = null, ?string $newline = "\r\n", ?int $indent = 0): string { return p\Mbstring::mb_encode_mimeheader((string) $string, $charset, $transfer_encoding, (string) $newline, (int) $indent); } 2204fd306cSNickeau} 2304fd306cSNickeauif (!function_exists('mb_decode_numericentity')) { 2404fd306cSNickeau function mb_decode_numericentity(?string $string, array $map, ?string $encoding = null): string { return p\Mbstring::mb_decode_numericentity((string) $string, $map, $encoding); } 2504fd306cSNickeau} 2604fd306cSNickeauif (!function_exists('mb_encode_numericentity')) { 2704fd306cSNickeau function mb_encode_numericentity(?string $string, array $map, ?string $encoding = null, ?bool $hex = false): string { return p\Mbstring::mb_encode_numericentity((string) $string, $map, $encoding, (bool) $hex); } 2804fd306cSNickeau} 2904fd306cSNickeauif (!function_exists('mb_convert_case')) { 3004fd306cSNickeau function mb_convert_case(?string $string, ?int $mode, ?string $encoding = null): string { return p\Mbstring::mb_convert_case((string) $string, (int) $mode, $encoding); } 3104fd306cSNickeau} 3204fd306cSNickeauif (!function_exists('mb_internal_encoding')) { 3304fd306cSNickeau function mb_internal_encoding(?string $encoding = null): string|bool { return p\Mbstring::mb_internal_encoding($encoding); } 3404fd306cSNickeau} 3504fd306cSNickeauif (!function_exists('mb_language')) { 3604fd306cSNickeau function mb_language(?string $language = null): string|bool { return p\Mbstring::mb_language($language); } 3704fd306cSNickeau} 3804fd306cSNickeauif (!function_exists('mb_list_encodings')) { 3904fd306cSNickeau function mb_list_encodings(): array { return p\Mbstring::mb_list_encodings(); } 4004fd306cSNickeau} 4104fd306cSNickeauif (!function_exists('mb_encoding_aliases')) { 4204fd306cSNickeau function mb_encoding_aliases(?string $encoding): array { return p\Mbstring::mb_encoding_aliases((string) $encoding); } 4304fd306cSNickeau} 4404fd306cSNickeauif (!function_exists('mb_check_encoding')) { 4504fd306cSNickeau function mb_check_encoding(array|string|null $value = null, ?string $encoding = null): bool { return p\Mbstring::mb_check_encoding($value, $encoding); } 4604fd306cSNickeau} 4704fd306cSNickeauif (!function_exists('mb_detect_encoding')) { 4804fd306cSNickeau function mb_detect_encoding(?string $string, array|string|null $encodings = null, ?bool $strict = false): string|false { return p\Mbstring::mb_detect_encoding((string) $string, $encodings, (bool) $strict); } 4904fd306cSNickeau} 5004fd306cSNickeauif (!function_exists('mb_detect_order')) { 5104fd306cSNickeau function mb_detect_order(array|string|null $encoding = null): array|bool { return p\Mbstring::mb_detect_order($encoding); } 5204fd306cSNickeau} 5304fd306cSNickeauif (!function_exists('mb_parse_str')) { 5404fd306cSNickeau function mb_parse_str(?string $string, &$result = []): bool { parse_str((string) $string, $result); return (bool) $result; } 5504fd306cSNickeau} 5604fd306cSNickeauif (!function_exists('mb_strlen')) { 5704fd306cSNickeau function mb_strlen(?string $string, ?string $encoding = null): int { return p\Mbstring::mb_strlen((string) $string, $encoding); } 5804fd306cSNickeau} 5904fd306cSNickeauif (!function_exists('mb_strpos')) { 6004fd306cSNickeau function mb_strpos(?string $haystack, ?string $needle, ?int $offset = 0, ?string $encoding = null): int|false { return p\Mbstring::mb_strpos((string) $haystack, (string) $needle, (int) $offset, $encoding); } 6104fd306cSNickeau} 6204fd306cSNickeauif (!function_exists('mb_strtolower')) { 6304fd306cSNickeau function mb_strtolower(?string $string, ?string $encoding = null): string { return p\Mbstring::mb_strtolower((string) $string, $encoding); } 6404fd306cSNickeau} 6504fd306cSNickeauif (!function_exists('mb_strtoupper')) { 6604fd306cSNickeau function mb_strtoupper(?string $string, ?string $encoding = null): string { return p\Mbstring::mb_strtoupper((string) $string, $encoding); } 6704fd306cSNickeau} 6804fd306cSNickeauif (!function_exists('mb_substitute_character')) { 6904fd306cSNickeau function mb_substitute_character(string|int|null $substitute_character = null): string|int|bool { return p\Mbstring::mb_substitute_character($substitute_character); } 7004fd306cSNickeau} 7104fd306cSNickeauif (!function_exists('mb_substr')) { 7204fd306cSNickeau function mb_substr(?string $string, ?int $start, ?int $length = null, ?string $encoding = null): string { return p\Mbstring::mb_substr((string) $string, (int) $start, $length, $encoding); } 7304fd306cSNickeau} 7404fd306cSNickeauif (!function_exists('mb_stripos')) { 7504fd306cSNickeau function mb_stripos(?string $haystack, ?string $needle, ?int $offset = 0, ?string $encoding = null): int|false { return p\Mbstring::mb_stripos((string) $haystack, (string) $needle, (int) $offset, $encoding); } 7604fd306cSNickeau} 7704fd306cSNickeauif (!function_exists('mb_stristr')) { 7804fd306cSNickeau function mb_stristr(?string $haystack, ?string $needle, ?bool $before_needle = false, ?string $encoding = null): string|false { return p\Mbstring::mb_stristr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); } 7904fd306cSNickeau} 8004fd306cSNickeauif (!function_exists('mb_strrchr')) { 8104fd306cSNickeau function mb_strrchr(?string $haystack, ?string $needle, ?bool $before_needle = false, ?string $encoding = null): string|false { return p\Mbstring::mb_strrchr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); } 8204fd306cSNickeau} 8304fd306cSNickeauif (!function_exists('mb_strrichr')) { 8404fd306cSNickeau function mb_strrichr(?string $haystack, ?string $needle, ?bool $before_needle = false, ?string $encoding = null): string|false { return p\Mbstring::mb_strrichr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); } 8504fd306cSNickeau} 8604fd306cSNickeauif (!function_exists('mb_strripos')) { 8704fd306cSNickeau function mb_strripos(?string $haystack, ?string $needle, ?int $offset = 0, ?string $encoding = null): int|false { return p\Mbstring::mb_strripos((string) $haystack, (string) $needle, (int) $offset, $encoding); } 8804fd306cSNickeau} 8904fd306cSNickeauif (!function_exists('mb_strrpos')) { 9004fd306cSNickeau function mb_strrpos(?string $haystack, ?string $needle, ?int $offset = 0, ?string $encoding = null): int|false { return p\Mbstring::mb_strrpos((string) $haystack, (string) $needle, (int) $offset, $encoding); } 9104fd306cSNickeau} 9204fd306cSNickeauif (!function_exists('mb_strstr')) { 9304fd306cSNickeau function mb_strstr(?string $haystack, ?string $needle, ?bool $before_needle = false, ?string $encoding = null): string|false { return p\Mbstring::mb_strstr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); } 9404fd306cSNickeau} 9504fd306cSNickeauif (!function_exists('mb_get_info')) { 9604fd306cSNickeau function mb_get_info(?string $type = 'all'): array|string|int|false { return p\Mbstring::mb_get_info((string) $type); } 9704fd306cSNickeau} 9804fd306cSNickeauif (!function_exists('mb_http_output')) { 9904fd306cSNickeau function mb_http_output(?string $encoding = null): string|bool { return p\Mbstring::mb_http_output($encoding); } 10004fd306cSNickeau} 10104fd306cSNickeauif (!function_exists('mb_strwidth')) { 10204fd306cSNickeau function mb_strwidth(?string $string, ?string $encoding = null): int { return p\Mbstring::mb_strwidth((string) $string, $encoding); } 10304fd306cSNickeau} 10404fd306cSNickeauif (!function_exists('mb_substr_count')) { 10504fd306cSNickeau function mb_substr_count(?string $haystack, ?string $needle, ?string $encoding = null): int { return p\Mbstring::mb_substr_count((string) $haystack, (string) $needle, $encoding); } 10604fd306cSNickeau} 10704fd306cSNickeauif (!function_exists('mb_output_handler')) { 10804fd306cSNickeau function mb_output_handler(?string $string, ?int $status): string { return p\Mbstring::mb_output_handler((string) $string, (int) $status); } 10904fd306cSNickeau} 11004fd306cSNickeauif (!function_exists('mb_http_input')) { 11104fd306cSNickeau function mb_http_input(?string $type = null): array|string|false { return p\Mbstring::mb_http_input($type); } 11204fd306cSNickeau} 11304fd306cSNickeau 11404fd306cSNickeauif (!function_exists('mb_convert_variables')) { 11504fd306cSNickeau function mb_convert_variables(?string $to_encoding, array|string|null $from_encoding, mixed &$var, mixed &...$vars): string|false { return p\Mbstring::mb_convert_variables((string) $to_encoding, $from_encoding ?? '', $var, ...$vars); } 11604fd306cSNickeau} 11704fd306cSNickeau 11804fd306cSNickeauif (!function_exists('mb_ord')) { 11904fd306cSNickeau function mb_ord(?string $string, ?string $encoding = null): int|false { return p\Mbstring::mb_ord((string) $string, $encoding); } 12004fd306cSNickeau} 12104fd306cSNickeauif (!function_exists('mb_chr')) { 12204fd306cSNickeau function mb_chr(?int $codepoint, ?string $encoding = null): string|false { return p\Mbstring::mb_chr((int) $codepoint, $encoding); } 12304fd306cSNickeau} 12404fd306cSNickeauif (!function_exists('mb_scrub')) { 12504fd306cSNickeau function mb_scrub(?string $string, ?string $encoding = null): string { $encoding ??= mb_internal_encoding(); return mb_convert_encoding((string) $string, $encoding, $encoding); } 12604fd306cSNickeau} 12704fd306cSNickeauif (!function_exists('mb_str_split')) { 12804fd306cSNickeau function mb_str_split(?string $string, ?int $length = 1, ?string $encoding = null): array { return p\Mbstring::mb_str_split((string) $string, (int) $length, $encoding); } 12904fd306cSNickeau} 13004fd306cSNickeau 131*83c68632SNicoif (!function_exists('mb_str_pad')) { 132*83c68632SNico function mb_str_pad(string $string, int $length, string $pad_string = ' ', int $pad_type = STR_PAD_RIGHT, ?string $encoding = null): string { return p\Mbstring::mb_str_pad($string, $length, $pad_string, $pad_type, $encoding); } 133*83c68632SNico} 134*83c68632SNico 13504fd306cSNickeauif (extension_loaded('mbstring')) { 13604fd306cSNickeau return; 13704fd306cSNickeau} 13804fd306cSNickeau 13904fd306cSNickeauif (!defined('MB_CASE_UPPER')) { 14004fd306cSNickeau define('MB_CASE_UPPER', 0); 14104fd306cSNickeau} 14204fd306cSNickeauif (!defined('MB_CASE_LOWER')) { 14304fd306cSNickeau define('MB_CASE_LOWER', 1); 14404fd306cSNickeau} 14504fd306cSNickeauif (!defined('MB_CASE_TITLE')) { 14604fd306cSNickeau define('MB_CASE_TITLE', 2); 14704fd306cSNickeau} 148