Autor
|
Tema: Reemplazar palabra (Leído 3,600 veces)
|
octavioxd
Desconectado
Mensajes: 43
|
Hola tengo un pequeño problema yo necesito reemplazar en un texto una sola palabra una vez es decir seria algo asi
hola a todos soy pedro como buen pedro que soy tengo poco dinero.
yo lo que necesito hacer es que borre pedro una sola vez quedaria asi
hola a todos soy como buen pedro que soy tengo poco dinero.
me entienden solo quiero que la reemplaze unasola vez aver si alguien me encuentra solucion! Gracias
|
|
|
|
|
En línea
|
|
|
|
~ Yoya ~
Wiki
Desconectado
Mensajes: 907
|
|
|
|
|
|
En línea
|
|
|
|
KrossPock
Desconectado
Mensajes: 208
|
Pero con str_replace reemplazaria todos los "pedros" xD
|
|
|
|
|
En línea
|
|
|
|
jdc
Desconectado
Mensajes: 3.228
janito dos cuatro...
|
Eso sí, sí se presenta un texto que diga Hola textopedrotexto Quedará Hola textotexto Asi que cuidado con que borras, sí quieres que sólo se borre "pedro" cuando no tenga nada al principio ni al final tendrás que usar expresiones regulares, que son un cacho xD
|
|
|
|
|
En línea
|
|
|
|
~ Yoya ~
Wiki
Desconectado
Mensajes: 907
|
naaa, que a mi me gustan bastante las expresiones regulares xDDDDDDDDDDDDDDDDD...
|
|
|
|
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.199
La sonrisa es la mejor forma de afrontar las cosas
|
Expresiones regulares? Jáá!
Porque no busca la primera coincendia de "pedro" y solo reemplaza esa, no recuerdo las funciones de PHP, pero la idea esta
|
|
|
|
|
En línea
|
|
|
|
jdc
Desconectado
Mensajes: 3.228
janito dos cuatro...
|
Expresiones regulares? Jáá!
Porque no busca la primera coincendia de "pedro" y solo reemplaza esa, no recuerdo las funciones de PHP, pero la idea esta
Arriba la mencionaron... str_replace() pero cambia la palabra o caracter donde lo encuentre Si necesitas quitar por ejemplo la a en: hola como estas excelente quedaria hol como ests pero si necesita quitar los "en" y escribes Es una excelente noche en Santiago quedaria es una excelte noche Santiago Osea no sirve 100%
|
|
|
|
|
En línea
|
|
|
|
|
Ari Slash
|
hola pero si quieres sacar los "en" el str_replace deberas reemplazar los " en " hay que jugar un poco xD
|
|
|
|
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.199
La sonrisa es la mejor forma de afrontar las cosas
|
si, Ari-Slash tiene razon, pero lo que yo decia es que encuentre la primera coincidencia. Con expresiones regulares seria $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: Hola pedro, pedro no se como decirte esto: pablo se la come quedaria a: Hola 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....
|
|
|
|
|
En línea
|
|
|
|
~ Yoya ~
Wiki
Desconectado
Mensajes: 907
|
No es necesario expreciones regulares, solo quiere eliminar la palabra "en", y la funcion str_replace() funciona perfecto...
|
|
|
|
|
En línea
|
|
|
|
~ Yoya ~
Wiki
Desconectado
Mensajes: 907
|
<?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 */ ?>
|
|
|
|
|
En línea
|
|
|
|
KrossPock
Desconectado
Mensajes: 208
|
<?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
|
|
|
|
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.199
La sonrisa es la mejor forma de afrontar las cosas
|
si, Ari-Slash tiene razon, pero lo que yo decia es que encuentre la primera coincidencia. Con expresiones regulares seria $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: Hola pedro, pedro no se como decirte esto: pablo se la come quedaria a: Hola 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? 
|
|
|
|
|
En línea
|
|
|
|
Castg!
Wiki
Desconectado
Mensajes: 1.180
|
uno solo!! y si se pude usar las expresiones regulares, pero si no las entendes podes probar con str_replace(): if(!$borrado){ str_replace(" pedro ", "", $texto); $borrado = true; }
|
|
|
|
|
En línea
|
 I'm back!
|
|
|
|
|
|
|