Reemplazar palabra

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

0 Miembros y 1 Visitante están viendo este tema.

octavioxd

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

~ Yoya ~

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 11 Marzo 2010, 20:31 PM
Usa la funcion str_replace() de php...
http://www.php.net/manual/en/function.str-replace.php


Saludos.

Pero con str_replace reemplazaria todos los "pedros" xD


jdc

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

~ Yoya ~

naaa, que a mi me gustan  bastante las expresiones regulares xDDDDDDDDDDDDDDDDD...
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.

raul338

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

jdc

Cita de: raul338 en 13 Marzo 2010, 00:42 AM
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%

Ari Slash

hola pero si quieres sacar los "en"
el str_replace deberas reemplazar los " en "
hay que jugar un poco xD

raul338

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....

~ Yoya ~

No es necesario expreciones regulares, solo quiere eliminar la palabra "en", y la funcion  str_replace() funciona perfecto...
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.