Wednesday, March 22, 2006

sustituye una cadena en php

Bueno, apenas hize este pequeño código, lo pongo aqui por si le sirve a alguien, básicamente toma una cadenota, y se le pasa una subcadena1 que será sustituida por una subcadena2, no importa cuantas veces aparezca la subcadena1 en la cadenota, todas las veces la va a sustituir ;)


//esta funcion recibe 3 cadenas:
//$cadena, es la cadena original.
//$reemplazar, es la subcadena que queremos reemplazar
//$por, es lo que pondremos en lugar de la subcadena reemplazar
//Esta función utiliza recursión, se llama a sí misma hasta que la cadena que queremos cambiar ya no aparece en la cadenota
function sustituye($cadena, $reemplazar, $por)
{
//buscamos la primera aparición de la subcadena a reemplazar en la cadena
$posicion=stripos($cadena, $reemplazar);
//si existe $reemplazar en $cadena continuamor
if($posicion){
//echo "entro, ".$posicion."
";
$longitud= strlen($cadena);
$longitudsub=strlen($reemplazar);
$sub1=substr($cadena, '0', $posicion);
$sub1.=$por;
$sub2=substr($cadena, $posicion+$longitudsub, $longitud);
$sub1.=$sub2;
//hacemos la recursion
$ultima=sustituye($sub1, $reemplazar, $por);
}
if($ultima){
return($ultima);
}else{
return($cadena);
}
}

0 Comments:

Post a Comment

<< Home