Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : Regular Expression Functions (POSIX Extended) : spliti

spliti

Split string into array by regular expression case insensitive (PHP 4 >= 4.0.1, PHP 5)
array spliti ( string pattern, string string [, int limit] )

Splits a string into array by regular expression.

This function is identical to split() except that this ignores case distinction when matching alphabetic characters.

Parameters

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.

Return Values

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.

Examples

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

Example 1899. spliti() example

<?php
$string
= "aBBBaCCCADDDaEEEaGGGA";
$chunks = spliti ("a", $string, 5);
print_r($chunks);
?>

The above example will output:

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


Code Examples / Notes » spliti

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

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


Change Language


Follow Navioo On Twitter
ereg_replace
ereg
eregi_replace
eregi
split
spliti
sql_regcase
eXTReMe Tracker