spliti

(PHP 4 >= 4.0.1, PHP 5)

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

Описание

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

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

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

Внимание

С версии PHP 5.3.0 эта функция считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

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

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
)

Примечания

Замечание:

С версии PHP 5.3.0, расширение regex помечено устаревшим и заменено расширением PCRE. Вызов этой функции приведет к ошибке уровня E_DEPRECATED. Смотрите список отличий для помощи при конвертировании в PCRE.

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

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

Коментарии

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
2004-01-27 08:51:34
http://php5.kiev.ua/manual/ru/function.spliti.html
Автор:
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"; }
2004-04-17 02:22:35
http://php5.kiev.ua/manual/ru/function.spliti.html
Автор:
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/>";
   }
}

?>
2011-01-25 04:41:59
http://php5.kiev.ua/manual/ru/function.spliti.html

    Поддержать сайт на родительском проекте КГБ