PHP Velho Oeste 2024

spliti

(PHP 4 >= 4.0.1, PHP 5)

splitiРазбивает строку в массив с помощью регулярного выражения без учета регистра

Внимание

Эта функция объявлена УСТАРЕВШЕЙ в PHP 5.3.0, и УДАЛЕНА PHP 7.0.0.

Есть следующие альтернативы:

  • preg_split() (Используйте модификатор i (PCRE_CASELESS))

Описание

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

Разбивает строку string в массив с помощью регулярного выражения.

Эта функция идентична функции split() за исключением того, что она игнорирует регистр символов при сравнении.

Список параметров

pattern

Регистронезависимое регулярное выражение.

Если вы хотите разделить строку по символам, которые являются специальными символами регулярного выражения, вам сначала нужно заэкранировать эти символы. Если вы думаете, что функция spliti() (или другая функция для работы с регулярными выражениями) делает что-то странное, пожалуйста, прочитайте файл regex.7, который находится в папке regex/ дистрибутива PHP. Этот файл находится в формате manpage, поэтому вы можете прочитать его командой man /usr/local/src/regex/regex.7.

string

Строка для разделения.

limit

Если установлен limit, возвращаемый массив будет содержать максимум limit элементов, в котором последний элемент содержит всю строку string.

Возвращаемые значения

Возвращает массив строк, каждая из которых является подстрокой строки string, образованный с помощью регистронезависимого разделения регулярным выражением pattern.

Если встречаются n вхождений pattern, возвращаемый массив будет содержать n+1 элементов. К примеру, если вхождений pattern не будет найдено, то будет возвращен массив только с одним элементом. Естественно, это также справедливо, если string пустая. Если в процессе возникает ошибка, spliti() возвращает FALSE.

Примеры

Разделение строки, используя 'a' как разделитель:

Пример #1 Пример spliti()

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

Результат выполнения данного примера:

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

Смотрите также

  • preg_split() - Разбивает строку по регулярному выражению
  • split() - Разбиение строки на массив по регулярному выражению
  • explode() - Разбивает строку с помощью разделителя
  • implode() - Объединяет элементы массива в строку

add a note add a note

User Contributed Notes 3 notes

up
0
jeffmixpute
13 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
20 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
20 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