Reemplazar palabra

Iniciado por octavioxd, 11 Marzo 2010, 20:12 PM

0 Miembros y 2 Visitantes están viendo este tema.

~ Yoya ~

Código (php) [Seleccionar]
<?php
//Funcion para reemplazar letras...
function del($str,$rem$txt) {
if(!empty(
$str) && !empty($rem) && !empty($txt))
{
    
$del str_replace($str,$rem,$txt);
    return 
$del;
}else { return 
'Faltan parametros';}
}
$texto 'Jesus dijo que volvera pronto';
echo 
del('o',' ',$texto);
/*Salida:
Jesus dij  que v lvera pr nt
*/
?>
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

KrossPock

Cita de: ~ Yoya ~ en 13 Marzo 2010, 16:12 PM
Código (php) [Seleccionar]
<?php
//Funcion para reemplazar letras...
function del($str,$rem$txt) {
if(!empty(
$str) && !empty($rem) && !empty($txt))
{
    
$del str_replace($str,$rem,$txt);
    return 
$del;
}else { return 
'Faltan parametros';}
}
$texto 'Jesus dijo que volvera pronto';
echo 
del('o',' ',$texto);
/*Salida:
Jesus dij  que v lvera pr nt
*/
?>


Ya te dije mas arriba... solo quiere reemplazar la primera vez ¬¬

osea:

Hola juan como estas juan

quiere que quede

Hola como estas juan


raul338

Cita de: raul338 en 13 Marzo 2010, 13:09 PM
si, Ari-Slash tiene razon, pero lo que yo decia es que encuentre la primera coincidencia. Con expresiones regulares seria

Código (php) [Seleccionar]

$final = preg_replace('/[^\w](pedro)[^\w]/i', "pablo", $text, 1); // Solo reeemplaza la primer coincidencia


la "/i" es para que no sea sensible a mayusculas

por ejemplo:
CitarHola pedro, pedro no se como decirte esto: pablo se la come

quedaria a:
CitarHola pablo, pedro no se como decirte esto: pablo se la come

Para que reemplaze a todas, hay que quitar el 1 del ultimo parametro.

Funciona solo cuando "pedro" no esta junto a dos letras
ejemplos que (deberian) funcionar

♫pedro se la come -> ♫pablo se la come
Pedro! No entres ahi -> pablo! No entres ahi

y demas....

eso te dice algo? :rolleyes:

Castg!

uno solo!! y si se pude usar las expresiones regulares, pero si no las entendes podes probar con str_replace():

Código (php) [Seleccionar]
if(!$borrado){
str_replace(" pedro ", "", $texto);
$borrado = true;
}

raul338

otra vez.... el str_replace reemplaza todas las coincidencias!!!  >:D

Castg!

pido disculpas! tenes toda la razon! me equivoq, asi se arregla:
Código (php) [Seleccionar]
$texto = explode(" ", $texto);
for($i=0;$i<strlen($texto);$i++){
if(!$borrado){
str_replace("pedro", "", $texto[$i]);
$borrado = true;
}else{
break;
}
}
$texto = implode("", $texto);