Skip to content

Instantly share code, notes, and snippets.

@petrkotek
Forked from ondrejmirtes/mb_str_split.php
Created January 1, 2015 22:49
Show Gist options
  • Save petrkotek/f56d2399de228b28a039 to your computer and use it in GitHub Desktop.
Save petrkotek/f56d2399de228b28a039 to your computer and use it in GitHub Desktop.
<?php
/**
* Replacement of str_split() function with multi-byte encoding support.
*
* @param string $string The input string.
* @param int $string_length [optional] Maximum length of the chunk.
* @param string $charset Character encoding.
*
* @return array
*/
function mb_str_split($string, $string_length = 1, $charset = 'utf-8')
{
if (mb_strlen($string, $charset) > $string_length || !$string_length) {
do {
$c = mb_strlen($string, $charset);
$parts[] = mb_substr($string, 0, $string_length, $charset);
$string = mb_substr($string, $string_length, $c - $string_length, $charset);
} while (!empty($string));
} else {
$parts = array($string);
}
return $parts;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment