POSIX Regex 函数
在线手册:中文 英文
PHP手册

spliti

(PHP 4 >= 4.0.1, PHP 5)

spliti用正则表达式不区分大小写将字符串分割到数组中

说明

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

本函数和 split() 相同,只除了在匹配字母字符时忽略大小写的区别。

本例用 'a' 做分隔符来分割一个字符串:

Example #1 spliti() 例子

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

以上例程会输出:

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

参见 preg_spliti()split()explode()implode()

Warning

自 PHP 5.3.0 起,已经废弃此函数。强烈建议不要应用此函数 。

参数

pattern

Case insensitive regular expression.

If you want to split on any of the characters which are considered special by regular expressions, you'll need to escape them first. If you think spliti() (or any other regex function, for that matter) is doing something weird, please read the file regex.7, included in the regex/ subdirectory of the PHP distribution. It's in manpage format, so you'll want to do something along the lines of man /usr/local/src/regex/regex.7 in order to read it.

string

The input string.

limit

If limit is set, the returned array will contain a maximum of limit elements with the last element containing the whole rest of string.

返回值

Returns an array of strings, each of which is a substring of string formed by splitting it on boundaries formed by the case insensitive regular expression pattern.

If there are n occurrences of pattern, the returned array will contain n+1 items. For example, if there is no occurrence of pattern, an array with only one element will be returned. Of course, this is also true if string is empty. If an error occurs, spliti() returns FALSE.

范例

This example splits a string using 'a' as the separator :

Example #2 spliti() example

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

以上例程会输出:

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

注释

Note:

在 PHP 5.3.0 中, 已放弃使用 regex 扩展而建议使用PCRE扩展。 调用此函数将会发出 E_DEPRECATED 通知。 参见“差异列表” 可帮助你转为使用 PCRE。

参见


POSIX Regex 函数
在线手册:中文 英文
PHP手册
PHP手册 - N: 用正则表达式不区分大小写将字符串分割到数组中

用户评论:

jeffmixpute (25-Jan-2011 10:41)

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/>";
   }
}

?>

(17-Apr-2004 07:22)

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"; }

vbelon at hotmail dot com (27-Jan-2004 02:51)

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