note 58959 added to function.explode
| From: | kroczu at interia dot pl | Date: | Tue, 22 Nov 2005 08:32:30 +0000 |
| Subject: | note 58959 added to function.explode | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-98921@lists.php.net to get a copy of this message | ||
case-insensitive version of explode()
<?
function explodei($separator, &$txt){
// working in PHP 5 (fast) ///////////////////////////
if(function_exists("str_ireplace")){
$separator_l=strtolower($separator);
return explode($separator_l, str_ireplace($separator, $separator_l, $txt));
}
// PHP < 5 (slow) ///////////////////////////////////
$txt_l=strlen($txt);
$separator_l=strlen($separator);
$separator=strtolower($separator);
$j=0;
$row=0;
$stop=false;
$start=0;
for($i=0; $i<$txt_l; $i++){
if($txt[$i]==$separator[$j]){
if($stop===false) $stop=$i;
$j++;
if($j==$separator_l){
$tab[$row]=substr($txt, $start, $stop-$start);
$row++;
$i=$start=$stop+$separator_l;
$stop=false;
$j=0;
}
}
elseif($stop!==false){
$i=$stop+1;
$stop=false;
$j=0;
}
}
$tab[$row]=substr($txt, $start);
return $tab;
}
?>
----
Manual Page -- http://www.php.net/manual/en/function.explode.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+58959
Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+58959&report=yes&reason=added+to+the+manual
Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+58959&report=yes&reason=bad+code
Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+58959&report=yes&reason=spam
Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+58959&report=yes&reason=useless
Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+58959&report=yes&reason=non-english
Delete: already in docs -- http://master.php.net/manage/user-notes.php?action=delete+58959&report=yes&reason=already+in+docs
Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+58959&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+58959&report=yes
Search -- http://master.php.net/manage/user-notes.php