public static function mb_str_split( $str, $split_length = 1 ) {
		// We can safely cast to an array here, as long as $str convertible to a string.
		$result = (array) \preg_split( '//u', $str , -1, PREG_SPLIT_NO_EMPTY );

		if ( $split_length > 1 ) {
			$splits = [];
			foreach ( \array_chunk( $result, $split_length ) as $chunk ) {
				$splits[] = \join( '', $chunk );
			}

			$result = $splits;
		}

		return $result;
	}
public static function mb_str_split( $str, $split_length = 1 ) {
		// We can safely cast to an array here, as long as $str convertible to a string.
		$result = (array) \preg_split( '//u', $str , -1, PREG_SPLIT_NO_EMPTY );

		if ( $split_length > 1 ) {
			$splits = [];
			foreach ( \array_chunk( $result, $split_length ) as $chunk ) {
				$splits[] = \join( '', $chunk );
			}

			$result = $splits;
		}

		return $result;
	}
public static function mb_str_split ( $ str , $ split_length = 1 ) { // We can safely cast to an array here, as long as $str convertible to a string. $ result = ( array ) \ preg_split ( '//u' , $ str , - 1 , PREG_SPLIT_NO_EMPTY ) ; if ( $ split_length > 1 ) { $ splits = [ ] ; foreach ( \ array_chunk ( $ result , $ split_length ) as $ chunk ) { $ splits [ ] = \ join ( '' , $ chunk ) ; } $ result = $ splits ; } return $ result ; }
Multibyte-safe str_split function.

Unlike str_split, a $split_length less than 1 is ignored (and thus
equivalent to the default).

@param string $str           Required.
@param int    $split_length  Optional. Default 1.

@return array                An array of $split_length character chunks.
Multibyte - safe str_split function .