note 79588 deleted from function.str-replace by felipe
| From: | felipe@php.net | Date: | Sun, 23 Mar 2008 23:06:54 +0000 |
| Subject: | note 79588 deleted from function.str-replace by felipe | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-137430@lists.php.net to get a copy of this message | ||
Note Submitter: Anonymous
----
Here is the last function with a small bug fixed and the last null parameter added.
<?php
function str_ireplace($what,$with,$string,&$count=NULL)
{
$count = 0;
$str_length = strlen($string);
$str2_length = strlen($what);
$str3_length = strlen($with);
for($i=0;$i<$str_length;$i++)
{
for($j=0;$j<=$str2_length;$j++)
{
$k = $i + $j;
if($j==$str2_length)
{
$string2 = "";
if($i) $string2 = substr($string,0,$i);
$string2 .= $with;
if($k!=$str_length) $string2 .= substr($string,$k,$str_length);
$string = $string2;
$i += strlen($with) - 1;
$str_length += $str3_length - $str2_length;
$count++;
break;
}
if($k>=$str_length)
{
break;
}
$char_string = ord($string[$k]);
$char_what = ord($what[$j]);
if(
!($char_string==$char_what)
&&
!(
($char_string>=97 && $char_string<=122)
&&
($char_what>=65 && $char_what<=90)
&&
($char_string-32==$char_what)
)
&&
!(
($char_string>=65 && $char_string<=90)
&&
($char_what>=97 && $char_what<=122)
&&
($char_string==$char_what-32)
)
)
{
break;
}
}
}
return $string;
}
?>