PHP 5.4.33 Released

spliti

(PHP 4 >= 4.0.1, PHP 5)

splitiZerlegt eine Zeichenkette anhand eines regulären Ausdrucks ohne Berücksichtigung von Groß-/Kleinschreibung in ein Array

Beschreibung

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

Zerlegt string anhand eines regulären Ausdrucks in ein Array.

Diese Funktion entspricht split() mit dem Unterschied, dass sie übereinstimmende Buchstaben nicht nach Groß- und Kleinschreibung unterscheidet.

Warnung

Diese Funktion ist seit PHP 5.3.0 DEPRECATED (veraltet). Sich auf diese Funktion zu verlassen ist in keiner Weise empfehlenswert.

Parameter-Liste

pattern

Regulärer Ausdruck ohne Berücksichtigung der Groß- und Kleinschreibung

Wenn Sie eine Zerlegung an Zeichen vornehmen, die in regulären Ausdrücken als besondere Zeichen betrachtet werden, müssen Sie diese entsprechend kennzeichnen. Wenn Sie der Ansicht sind, spliti() (oder, bei diesem Thema, eine andere Regex-Funktion) verhalte sich seltsam, lesen Sie bitte die Datei regex.7, die sich im regex/ Unterverzeichnis ihrer PHP-Distribution befindet. Da sie im manpage-Fomat vorliegt, sollten Sie einen Befehl der Art man /usr/local/src/regex/regex.7 verwenden, um sie zu lesen.

string

Die zu durchsuchende Zeichenkette

limit

Wenn limit gesetzt wurde, enthält das zurückgegebene Array höchstens limit Elemente, von denen das letzte den ganzen Rest von string enthält.

Rückgabewerte

Gibt ein Array mit Zeichenketten zurück, die jeweils eine Teilzeichenkette von string sind. Diese Teilzeichenketten entstehen durch Zerlegung von string an den durch den regulären Ausdruck pattern bestimmten Stellen ohne Berücksichtigung der Groß- und Kleinschreibung.

Wenn pattern n mal vorkommt, enhält das zurückgegebene Array n+1 Elemente. Kommt pattern zum Beispiel überhaupt nicht vor, wird ein Array mit nur einem Element zurückgegeben. Das gilt natürlich auch, wenn string leer ist. Bei Auftreten eines Fehlers gibt spliti() FALSE zurück.

Beispiele

Dieses Beispiel verwendet 'a' als Trennzeichen um eine Zeichenkette zu zerlegen:

Beispiel #1 spliti()-Beispiel

<?php
$zeichenkette 
"aBBBaCCCADDDaEEEaGGGA";
$stuecke spliti ("a"$zeichenkette5);
print_r($stuecke);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

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

Anmerkungen

Hinweis:

Seit PHP 5.3.0 ist die regex-Erweiterung zugunsten der PCRE-Erweiterung als veraltete markiert. Ein Aufruf dieser Funktion wird eine E_DEPRECATED-Notice ausgeben. Sie können sich die Liste der Unterschiede ansehen, wenn Sie Hilfe beim Umstieg auf PCRE benötigen.

Tipp

spliti() ist ab PHP 5.3.0 veraltet. Verwenden Sie stattdessen preg_split() mit dem Modifikator i (PCRE_CASELESS).

Siehe auch

  • preg_split() - Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks
  • split() - Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks in ein Array
  • explode() - Teilt einen String anhand einer Zeichenkette
  • implode() - Verbindet Array-Elemente zu einem String

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