Dernière mise à jour: lun 3 mai 2010

uni_strsplit()

(PHP 5)

Convertit une chaîne de caractères UNICODE en tableau.

Source

<?php

function uni_strsplit( $string, $split_length = 1 )
{
	if($split_length<1){
		return false;
	}
	if(!$string){
		return str_split($string);
	}
	preg_match_all('`.`u', $string, $arr);
	$arr = array_chunk($arr[0], $split_length);
	$arr = array_map('implode', $arr);
	return $arr;
}

?>

Syntaxe

int uni_strsplit ( string $string [, int $split_length = 1 ] )

Arguments

  1. string - La chaîne d'entrée.
  2. split_length - Longueur maximale de chaque élément.

Valeurs de retour

Si le paramètre optionnel split_length est spécifié, le tableau retourné sera découpé en sous-parties, chacune de taille split_length, sinon, chaque sous-partie aura la taille d'un caractère.

FALSE est retourné si split_length est inférieur à 1. Si la longueur de split_length est supérieure à celle de string, la chaîne entière est retournée dans le premier (et seul) élément du tableau.

Exemples

Exemple #1 Exemple avec uni_strsplit()

<?php

$str = 'Sébastien';
$arr1 = str_split($str);
$arr1 = uni_strsplit($str);

print_r($arr1);
print_r($arr2);

?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => S
    [1] => �
    [2] => �
    [3] => b
    [4] => a
    [5] => s
    [6] => t
    [7] => i
    [8] => e
    [9] => n
)

Array
(
    [0] => S
    [1] => é
    [2] => b
    [3] => a
    [4] => s
    [5] => t
    [6] => i
    [7] => e
    [8] => n
)

Exemple #2 Exemple avec uni_strsplit()

<?php

$str = 'Sébastien';
$arr1 = str_split($str,3);
$arr1 = uni_strsplit($str,3);

print_r($arr1);
print_r($arr2);

?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => Sé
    [1] => bas
    [2] => tie
    [3] => n
)

Array
(
    [0] => Séb
    [1] => ast
    [2] => ien
)

Voir aussi

  • str_split() - Convertit une chaîne de caractères en tableau
  • uni_strlen() - Calcule la taille d'une chaîne UNICODE
  • unichr() - Retourne un caractère à partir de son code UNICODE
  • uniord() - Retourne le code UNICODE d'un caractère

Commentaire(s)

Il n'y a aucun commentaire pour cette page.

Poster un commentaire