note 64459 added to function.str-ireplace

From: Date: Fri, 14 Apr 2006 17:36:04 +0000
Subject: note 64459 added to function.str-ireplace
Groups: php.notes 
Request: Send a blank email to php-notes+get-108096@lists.php.net to get a copy of this message
Sorry, found a couple of bugs, and added error handlers. <?php function strireplace($needle,$replace,$haystack) { if ($needle == '') {echo '<B>Error:</B> empty needle (haystack='.$haystack.')!<BR />'; return $haystack;} if ($haystack == '') {echo '<B>Error:</B> empty haystack (needle='.$needle.')<BR />'; return $haystack;} $where = 0; $needle = strtolower($needle); while ($where < strlen($haystack)) { $thiswhere = @strpos(strtolower($haystack),$needle,$where); if ($thiswhere === FALSE) { $where = strlen($haystack); } else { if ($thiswhere == 0) { $haystack = $replace . substr($haystack,strlen($needle),strlen($haystack) - strlen($needle)); } else if ($thiswhere == (strlen($haystack) - strlen($needle))) { $haystack = substr($haystack,0,strlen($haystack) - strlen($needle)) . $replace; } else { $haystack = substr($haystack,0,$thiswhere) . $replace . substr($haystack,$thiswhere+strlen($needle),strlen($haystack) - $thisswhere - strlen($needle)); } $where=$thiswhere+strlen($replace); } } return $haystack; } ?> ---- Server IP: 216.194.113.175 Probable Submitter: 199.98.17.176 ---- X-Spam-Status: No, hits=3.3 required=5.0 tests=DATE_MISSING,FROM_NO_LOWER, HTML_MESSAGE autolearn=no version=2.64 ---- Manual Page -- http://www.php.net/manual/en/function.str-ireplace.php Edit -- http://master.php.net/note/edit/64459 Del: integrated -- http://master.php.net/note/delete/64459/integrated Del: useless -- http://master.php.net/note/delete/64459/useless Del: bad code -- http://master.php.net/note/delete/64459/bad+code Del: spam -- http://master.php.net/note/delete/64459/spam Del: non-english -- http://master.php.net/note/delete/64459/non-english Del: in docs -- http://master.php.net/note/delete/64459/in+docs Del: other reasons-- http://master.php.net/note/delete/64459 Reject -- http://master.php.net/note/reject/64459 Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#108096) next »