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/>";
}
}
?>
spliti
(PHP 4 >= 4.0.1, PHP 5)
spliti — Belirtilen dizgeyi harf büyüklüğüne duyarsız olarak düzenli ifadeye göre dizi elemanlarına böler
Açıklama
$şablon
, string $dizge
[, int $sınır
] )Belirtilen dizgeyi harf büyüklüğüne duyarsız düzenli ifadeye göre dizi elemanlarına böler.
Harfleri eşleştirirken harf büyüklüğünü dikkate almaması dışında split() işlevi ile aynıdır.
Evrenkod uyumsuzluğu nedeniyle bu işlevin kullanımı PHP 5.3.0'dan beri ÖNERİLMEMEKTEDİR.
Değiştirgeler
-
şablon -
Harf büyüklüğüne duyarsız düzenli ifade.
Düzenli ifadelere özgü karakterlerden birine göre bölme yapmak isterseniz o karakteri öncelemeniz gerekir. Eğer spliti() işlevinin (veya bu konu ile ilgili diğer düzenli ifade işlevlerinin) tuhaf şeyler yaptığını düşünüyorsanız, PHP dağıtımının regex/ alt dizininde bulunan regex.7 kılavuz sayfasını okuyunuz. Bir kılavuz sayfası olması nedeniyle kabukta man /usr/local/src/regex/regex.7 komutunu vererek dosyayı okuyabilirsiniz.
-
dizge -
Girdi dizgesi.
-
sınır -
Bu değiştirge belirtilmişse, son elemanında
dizge'nin kalanını içermek üzere en fazlasınırsayıda eleman içeren bir dizi dönecektir.
Dönen Değerler
Her elemanında, dizge dizgesinin, sınırları harf
büyüklüğüne duyarsız şablon düzenli ifadesine göre
belirlenen, alt dizgelerini içeren bir dizi döner.
şablon ile eşleşen n alt
dizge varsa dönen dizi n+1
eleman içerecektir. Örneğin, şablon ile eşleşen
hiçbir alt dizge yoksa, işlev tek elemanlı bir dizi döndürecektir. Bu durum
dizge dizgesinin boş olduğu durumda da geçerlidir.
Bir hata oluşursa işlev FALSE döndürür.
Örnekler
Bu örnekte, dizge 'a' harfi ayraç olarak kullanılarak ayrıştırılmaktadır:
Örnek 1 - spliti() örneği
<?php
$string = "aBBBaCCCADDDaEEEaGGGA";
$chunks = spliti ("a", $string, 5);
print_r($chunks);
?>
Yukarıdaki örneğin çıktısı:
Array ( [0] => [1] => BBB [2] => CCC [3] => DDD [4] => EEEaGGGA )
Notlar
Bilginize:
PHP 5.3.0 ve sonrasında regex eklentisinin kullanımı artık önerilmemekte olup yerine PCRE eklentisinin kullanılması önerilmekte ve bu işleve yapılan çağrılar bu nedenle bir
E_DEPRECATEDuyarısı çıktılamaktadır.PCRE'ye dönüşümü kolaylaştırmak için fark listesine bakınız.
Ayrıca Bakınız
- preg_split() - Dizgeyi düzenli ifadeye göre böler
- split() - Belirtilen dizgeyi düzenli ifadeye göre dizi elemanlarına böler
- explode() - Bir dizgeyi bir ayraca göre bölüp bir dizi haline getirir
- implode() - Dizi elemanlarını birleştirip bir dizge elde eder
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"; }
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
