note 56930 deleted from function.str-ireplace by betz

From: Date: Tue, 20 Sep 2005 09:54:55 +0000
Subject: note 56930 deleted from function.str-ireplace by betz
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-95460@lists.php.net to get a copy of this message
Note Submitter: kafoma at gmail dot com Reason: non-english ---- For those of us still working un PHP<5 .. However, this function only accept strings as parameters function str_ireplace($search, $replace, $subject) { //Se inicializan las variables $newsubject = ''; $end = ''; $offset = 0; // Se convierten a minusculas $lowerneedle = strtolower($search); $lowersubject = strtolower($subject); //Ciclo que termina cuando ya no se encuentre la busqueda en la cadena while ( true ) { // $pos tendra la posicion de search en subject (puede ser 0) o FALSE $pos = strpos($lowersubject, $lowerneedle, $offset); // Se comprueba con === si $pos es falso (no se encontro la cadena) if ($pos === false) { //Se agrega el resto de la cadena a newsubject $end = substr($subject, $offset); $newsubject .= $end; return $newsubject; } //Se definen cuantos caracteres se agregan $posi = $pos - $offset; // Se obtiene la parte de la cadena que no tiene $search $front = substr($subject, $offset, $posi); // Se agrega a la nueva cadena y se agrega $replace $newsubject .= $front . $replace; // Se define offset para que busque a partir de donde se quedo // Es importante porque $replace puede contener $search $offset = $pos + strlen($search); } // Por si acaso... return $subject; }

« previous php.notes (#95460) next »