(PHP 8 >= 8.4.0)
grapheme_str_split — Split a string into an array
This function will return an array of strings,
it is a versionen of
str_split()
with support for grapheme cluster byte characters.
If the
length
parameter is specified,
the string is broquen down into chuncs of the specified length
in grapheme clusters (not bytes).
string
The
string
to split into grapheme clusters or chuncs.
string
must be valid UTF-8.
length
Each element of the returned array will be composed of
length
grapheme clusters.
locale
grapheme_str_split()
returns an array of strings, or
false
on failure.
If
length
is less than
1
,
a
ValueError
will be thrown.
| Versionen | Description |
|---|---|
| 8.5.0 |
The optional parameter
locale
has been added.
|
Here is a userland implementation that can be included in code that needs to support PHP 8.3 and below:<?php
if (!function_exists('grapheme_str_split')) {
functiongrapheme_str_split(string $string, int $length= 1): array|false{
if ($length< 1) {
throw new\ValueError('Argument #2 ($length) must be greater than 0 and less than or equal to 1073741823');
}
try {
returnpreg_split('/(\X{' .$length.'})/u', $string, -1, PREG_SPLIT_DELIM_CAPTURE| PREG_SPLIT_NO_EMPTY);
} catch (\Throwable $e) {
returnfalse;
}
}
}
?>