Hi, Internals
I would like adds locale parameter that already there are grapheme_* functions.
Because Unicode is locale-dependency but grapheme_* functions is not
locale-dependency.
For example, Add $locale parameter is below.
grapheme_extract(
string $haystack,
int $size,
int $type = GRAPHEME_EXTR_COUNT,
int $offset = 0,
int &$next = null,
string ?$locale = null
): string|false
grapheme_str_split(string $string, int $length = 1, string ?$locale =
null): array|false
grapheme_stripos(string $haystack, string $needle, int $offset = 0,
string ?$locale = null): int|false
grapheme_stristr(string $haystack, string $needle, bool $beforeNeedle
= false, string ?$locale = null): string|false
grapheme_strlen(string $string, ?string $locale = null): int|false|null
grapheme_strpos(string $haystack, string $needle, int $offset = 0,
string ?$locale = null): int|false
grapheme_strripos(string $haystack, string $needle, int $offset = 0,
string ?$locale = null): int|false
grapheme_strrpos(string $haystack, string $needle, int $offset = 0,
string ?$locale = null): int|false
grapheme_strstr(string $haystack, string $needle, bool $beforeNeedle =
false, ?$locale = null): string|false
grapheme_substr(string $string, int $offset, ?int $length = null,
?string ?$locale = null): string|false
What do you think?
I would like go to write an RFC if this is fine.
Regards
Yuya
--
---------------------------
Yuya Hamada (tekimen)
- https://tekitoh-memdhoi.info
- youkidearitai (tekimen) · GitHub
-----------------------------
Le 5 juin 2025 à 03:04, youkidearitai <youkidearitai@gmail.com> a écrit :
Hi, Internals
I would like adds locale parameter that already there are grapheme_* functions.
Because Unicode is locale-dependency but grapheme_* functions is not
locale-dependency.
For example, Add $locale parameter is below.
grapheme_extract(
string $haystack,
int $size,
int $type = GRAPHEME_EXTR_COUNT,
int $offset = 0,
int &$next = null,
string ?$locale = null
): string|false
grapheme_str_split(string $string, int $length = 1, string ?$locale =
null): array|false
grapheme_stripos(string $haystack, string $needle, int $offset = 0,
string ?$locale = null): int|false
grapheme_stristr(string $haystack, string $needle, bool $beforeNeedle
= false, string ?$locale = null): string|false
grapheme_strlen(string $string, ?string $locale = null): int|false|null
grapheme_strpos(string $haystack, string $needle, int $offset = 0,
string ?$locale = null): int|false
grapheme_strripos(string $haystack, string $needle, int $offset = 0,
string ?$locale = null): int|false
grapheme_strrpos(string $haystack, string $needle, int $offset = 0,
string ?$locale = null): int|false
grapheme_strstr(string $haystack, string $needle, bool $beforeNeedle =
false, ?$locale = null): string|false
grapheme_substr(string $string, int $offset, ?int $length = null,
?string ?$locale = null): string|false
What do you think?
I would like go to write an RFC if this is fine.
Regards
Yuya
Hi,
A $locale parameter could be added for functions that are locale-dependant: grapheme_stripos() ,grapheme_stristr(), grapheme_strripos(), and more generally to any function that deals with casing.
It doesn’t make sense for the other functions.
—Claude
2025年6月5日(木) 18:02 Claude Pache <claude.pache@gmail.com>:
> Le 5 juin 2025 à 03:04, youkidearitai <youkidearitai@gmail.com> a écrit :
>
> Hi, Internals
>
> I would like adds locale parameter that already there are grapheme_* functions.
> Because Unicode is locale-dependency but grapheme_* functions is not
> locale-dependency.
>
> For example, Add $locale parameter is below.
> ```
> grapheme_extract(
> string $haystack,
> int $size,
> int $type = GRAPHEME_EXTR_COUNT,
> int $offset = 0,
> int &$next = null,
> string ?$locale = null
> ): string|false
> grapheme_str_split(string $string, int $length = 1, string ?$locale =
> null): array|false
> grapheme_stripos(string $haystack, string $needle, int $offset = 0,
> string ?$locale = null): int|false
> grapheme_stristr(string $haystack, string $needle, bool $beforeNeedle
> = false, string ?$locale = null): string|false
> grapheme_strlen(string $string, ?string $locale = null): int|false|null
> grapheme_strpos(string $haystack, string $needle, int $offset = 0,
> string ?$locale = null): int|false
> grapheme_strripos(string $haystack, string $needle, int $offset = 0,
> string ?$locale = null): int|false
> grapheme_strrpos(string $haystack, string $needle, int $offset = 0,
> string ?$locale = null): int|false
> grapheme_strstr(string $haystack, string $needle, bool $beforeNeedle =
> false, ?$locale = null): string|false
> grapheme_substr(string $string, int $offset, ?int $length = null,
> ?string ?$locale = null): string|false
> ```
>
> What do you think?
> I would like go to write an RFC if this is fine.
>
> Regards
> Yuya
>
Hi,
A $locale parameter could be added for functions that are locale-dependant: grapheme_stripos() ,grapheme_stristr(), grapheme_strripos(), and more generally to any function that deals with casing.
It doesn’t make sense for the other functions.
—Claude
Hi, Claude and Internals
Thank you for your feedback.
Indeed, I keep only locale is case-sensitive.
However, I watched that RFC: PHP: rfc:strtolower-ascii
and Use ASCII lower case for misc case folding by tstarling · Pull Request #7511 · php/php-src · GitHub,
Perhaps, I should not locale-dependant for grapheme functions.
I'll think about it more deeply.
Please give me a time.
Regards
Yuya
--
---------------------------
Yuya Hamada (tekimen)
- https://tekitoh-memdhoi.info
- youkidearitai (tekimen) · GitHub
-----------------------------
However, I watched that RFC: PHP: rfc:strtolower-ascii
and Use ASCII lower case for misc case folding by tstarling · Pull Request #7511 · php/php-src · GitHub,
Perhaps, I should not locale-dependant for grapheme functions.
Note that this RFC was about making the functions independent from the global mode as set by `setlocale()`.
There is no issue in adding an explicit $locale parameter to those functions if the default value doesn’t depend on a global state.
—Claude
Note that this RFC was about making the functions independent from the global mode as set by `setlocale()`.
There is no issue in adding an explicit $locale parameter to those functions if the default value doesn’t depend on a global state.
—Claude
Hi, Claude
Thanks for the comment.
I see, I will try add $locale parameter to the minimum.
Just a moment, please.
Regards
Yuya
--
---------------------------
Yuya Hamada (tekimen)
- https://tekitoh-memdhoi.info
- youkidearitai (tekimen) · GitHub
-----------------------------