2026年6月19日(金) 2:07 Rowan Tommins [IMSoP] <imsop.php@rwec.co.uk>:
>
> On 18 June 2026 17:13:59 BST, "سپهر محمودی" <sepehrphpr@gmail.com> wrote:
> >Hi everyone,
> >
> >I would like to propose a new native utility function: str_mask().
>
> I can definitely see the use case for this function - in fact, I was just reviewing a change which could have used it.
>
> >Multibyte Support: Unlike custom userland implementations that might
> >break on non-Latin strings (like Persian/Arabic/CJK), a native
> >implementation can seamlessly handle multibyte characters.
>
> As a rule, PHP's str_* functions operate on byte strings with no knowledge of encoding. Multibyte support would belong in the mbstring or intl extensions, which have conventions for specifying the encoding in use.
>
> In fact, a correct Unicode implementation would need to operate on "graphemes", using the bindings to ICU in the intl extension. Otherwise, it would incorrectly handle things like combining diacritics and emoji variation selectors.
>
>
>
> Rowan Tommins
> [IMSoP]
Hi, Sepehr, Rowan and Internals
I'm interesting your idea.
I agree that Rowan say mbstring or grapheme function.
For example, number is not only ASCII. One of Full Width number:
0123456789(U+FF19 - U+FF19).
There is Japanese number in Kanji (一,二,三,四,五,六,七,八,九)
Therefore, your proposal are useful but I suggest to move to grapheme* function.
(mbstring is not accept from nearly)
Regards
Yuya
--
---------------------------
Yuya Hamada (tekimen)
- https://tekitoh-memdhoi.info
- https://github.com/youkidearitai
-----------------------------