2026年6月19日(金) 2:07 Rowan Tommins [IMSoP] <[email protected]>: > > On 18 June 2026 17:13:59 BST, "سپهر محمودی" <[email protected]> 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 -----------------------------
