PHP 5.4.31 Released

spliti

(PHP 4 >= 4.0.1, PHP 5)

splitiScinde une chaîne en un tableau, grâce à une expression rationnelle

Description

array spliti ( string $pattern , string $string [, int $limit = -1 ] )

Scinde la chaîne string dans un tableau, par expression rationnelle.

Cette fonction est identique à split(), hormis le fait qu'elle ignore la casse pour les caractères alphabétiques.

Avertissement

Cette fonction est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

Liste de paramètres

pattern

Expression rationnelle insensible à la casse.

Si vous voulez effectuer la césure avec un caractère qui est considéré comme spécial par les expressions rationnelles, vous devez d'abord l'échapper. Si vous pensez que la fonction spliti() (ou tout autre fonction regex) fait quelque chose de bizarre, lisez le fichier regex.7, inclus dans le sous-dossier regex/ de la distribution PHP. Ce fichier est au format man, vous devrez donc utiliser la commande man /usr/local/src/regex/regex.7 pour le lire.

string

La chaîne d'entrée.

limit

Si limit est défini, le tableau retourné contiendra un maximum de limit éléments, dont le dernier élément contient le reste de la chaîne string.

Valeurs de retour

Retourne un tableau de chaînes, dont chaque élément est une sous-chaîne de string, formée par la césure réalisée grâce l'expression rationnelle pattern.

S'il y a n occurrences de pattern, le tableau retourné contiendra n+1 éléments. Par exemple, s'il n'y a pas d'occurrence de pattern, un tableau avec un seul élément sera retourné. Évidemment, ceci est également vrai si la chaîne string est vide. Si une erreur survient, spliti() retourne FALSE.

Exemples

Scinder une chaîne en utilisant la lettre 'a' comme séparateur :

Exemple #1 Exemple avec spliti()

<?php
$string 
"aBBBaCCCADDDaEEEaGGGA";
$chunks spliti ("a"$string5);
print_r($chunks);
?>

L'exemple ci-dessus va afficher :

Array
(
  [0] =>
  [1] => BBB
  [2] => CCC
  [3] => DDD
  [4] => EEEaGGGA
)

Notes

Note:

À partir de PHP 5.3.0, l'extension regex est obsolète et vous devez utiliser l'extension PCRE à la place. Appeler des fonctions de l'extension regex émettra des alertes de type E_DEPRECATED. Voir la liste des différences pour vous aider dans la conversion en PCRE.

Astuce

spliti() est obsolète depuis PHP 5.3.0 preg_split() avec le modificateur i (PCRE_CASELESS) peut être utilisé à la place.

Voir aussi

  • preg_split() - Éclate une chaîne par expression rationnelle
  • split() - Scinde une chaîne en un tableau, grâce à une expression rationnelle
  • explode() - Coupe une chaîne en segments
  • implode() - Rassemble les éléments d'un tableau en une chaîne

add a note add a note

User Contributed Notes 3 notes

up
0
jeffmixpute
3 years ago
This example shows the use of spliti.
Here it splits the path of the server as it can be used further.

<?php

require_once 'Beispiel.php';
$seq = new Sequence();

$path = $_SERVER["PATH_INFO"];

echo
"PATH: ".$path."<br/>";
echo
"Request mode: ".$_SERVER["REQUEST_METHOD"]."<br/>";

$daten = spliti ("/", $path);

echo
"get-daten[1] ".$daten[1]."<br/>";

if(
$_SERVER["REQUEST_METHOD"]== "POST"){
  echo
"POST".$daten[1];
 
$seq->setzeSequence($daten[1], $_POST["xml"]);
}
elseif(
$_SERVER["REQUEST_METHOD"] == "DELETE"){
  echo
"DELETE".$daten[1];
 
$seq->loescheSequence($daten[1]);
}
elseif(
$_SERVER["REQUEST_METHOD"] == "GET"){

$antwort = $seq->holeSequence($daten[1]);
  echo
"antwort[0]: ".$antwort[0]."<br/>";
  foreach(
$antwort as $mes){
   echo
"mes ".$mes."<br/>";
   }
}

?>
up
0
Anonymous
10 years ago
When using special characters such as the tab placeholder "\t" in the split function, be careful not to escape the slash by adding a slah in front of it. To signify a tab, new line or carriage return use only one slash in front of the character. For example:

$cartes= "one\ttwo\tthree";

$tab_cartes = split("\t",$cartes );

$items = count($tab_cartes);
for ($x = 0; $x < $items; $x++)
   { echo $tab_cartes[$x] . "\n"; }
up
0
vbelon at hotmail dot com
10 years ago
To split $cartes which contains data and tabulations:
Doesnt work :
$tab_cartes = split("\\t",$cartes );

But \t = char(9), so, works well:
$tab_cartes = split(Chr(9),$cartes);

Idem for :
\n = char(10)
\r = char(13)

Found in http://www.asp-magazine.com/fr/asp/blitz/blitz4.asp
To Top