Foros del Web » Programando para Internet » PHP »

Como borrar palabras de dos caracteres

Estas en el tema de Como borrar palabras de dos caracteres en el foro de PHP en Foros del Web. Como se pueden borrar palabras de una cadena de texto que sean de dos o tres letras,solo letras no quiero que borre numeros,por ejemplo el ...
  #1 (permalink)  
Antiguo 23/06/2009, 17:17
 
Fecha de Ingreso: diciembre-2007
Mensajes: 200
Antigüedad: 16 años, 4 meses
Puntos: 10
Como borrar palabras de dos caracteres

Como se pueden borrar palabras de una cadena de texto que sean de dos o tres letras,solo letras no quiero que borre numeros,por ejemplo el ,la de, por,

Gracias
  #2 (permalink)  
Antiguo 23/06/2009, 18:08
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Como borrar palabras de dos caracteres

puedes usar str_replace(); en la cadena y sustituyes por vacio...
igual podrias poner un ejemplo mas practico de lo que quieres lograr ....
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #3 (permalink)  
Antiguo 23/06/2009, 18:17
 
Fecha de Ingreso: abril-2003
Mensajes: 1.129
Antigüedad: 21 años
Puntos: 34
Respuesta: Como borrar palabras de dos caracteres

Bueno, creo que el comando que debes usar es este, pero no se utilizarlo...

<?php

$string = "This is a test";

echo ereg_replace("[a-z]{2}", "", $string);

?>

Acá lo usan para algo parecido... Solo que ahí eleiminan todo sin límite, buscá info de esa función que seguro darás con la solución, y nos comentas que yo me quede con la duda de dommento...

http://www.forosdelweb.com/f18/elimi...cadena-424173/
__________________
elGastronomo
  #4 (permalink)  
Antiguo 23/06/2009, 18:23
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Como borrar palabras de dos caracteres

Tienes que decirle que busque entre palabras, los elementos que contengan de 1 a 3 caracteres y los reemplace.

En codigo:
preg_replace("/\b[a-zA-Z]{1,3}\b/", "", $texto);
  #5 (permalink)  
Antiguo 23/06/2009, 18:31
 
Fecha de Ingreso: abril-2003
Mensajes: 1.129
Antigüedad: 21 años
Puntos: 34
Respuesta: Como borrar palabras de dos caracteres

Cita:
Iniciado por Ronruby Ver Mensaje
Tienes que decirle que busque entre palabras, los elementos que contengan de 1 a 3 caracteres y los reemplace.

En codigo:
preg_replace("/\b[a-zA-Z]{1,3}\b/", "", $texto);
Genial, porque si, el mio se llevaba todo lo que sea de 2 letras sin importar si eran palabras sueltas o 2 letras de alguna palabra más grande :P



Ahora sólo para "joder" un poquito, y para ponernos en exquisitos... veo que ese código no reemplaza cosas como " dí sí "

No creo que nadie ande poniendo palabras de 2 letras con acento, pero se lo podría perfeccionar al código...

Yo por ejemplo odio los buscadores que pasan o pasaban por alto palabras como

ps2 psp ds etc etc Hay muchas cosas que si se identifican con 2 letras o 3, se podría incluir alguna regla para que esas no las filtre?

Perdón por complicarla, pero ya que estamos aprendemos...

La primer parte me la contesto yo mismo :P

echo preg_replace("/\b[a-zA-Záéíóú]{1,3}\b/", "", $texto);

jeje, era más sencillo de lo pensado... más más (ahora esa si sería filtrada) :)
__________________
elGastronomo

Última edición por American2010; 23/06/2009 a las 18:37
  #6 (permalink)  
Antiguo 23/06/2009, 18:37
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 8 meses
Puntos: 32
Respuesta: Como borrar palabras de dos caracteres

Cita:
Iniciado por Ronruby Ver Mensaje
Tienes que decirle que busque entre palabras, los elementos que contengan de 1 a 3 caracteres y los reemplace.

En codigo:
preg_replace("/\b[a-zA-Z]{1,3}\b/", "", $texto);
Era de 2 a 3 entonces solo le cambias el 1 por el 2
  #7 (permalink)  
Antiguo 23/06/2009, 18:53
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Como borrar palabras de dos caracteres

Supuse que tambien se borrarian palabras con 1 sola letra. Pero bueno.

Cita:
ps2 psp ds etc etc Hay muchas cosas que si se identifican con 2 letras o 3, se podría incluir alguna regla para que esas no las filtre?

Perdón por complicarla, pero ya que estamos aprendemos...
En ese caso podrias hacer un array con las palabras comunes a filtrar y partir desde alli.

$comunes = array("el", "la", "un");

El array puede llegar a ser GRANDE, pero evitas que se borren palabras relevantes a la busqueda.
  #8 (permalink)  
Antiguo 23/06/2009, 18:58
 
Fecha de Ingreso: abril-2003
Mensajes: 1.129
Antigüedad: 21 años
Puntos: 34
Respuesta: Como borrar palabras de dos caracteres

Cita:
Iniciado por Ronruby Ver Mensaje
Supuse que tambien se borrarian palabras con 1 sola letra. Pero bueno.



En ese caso podrias hacer un array con las palabras comunes a filtrar y partir desde alli.

$comunes = array("el", "la", "un");

El array puede llegar a ser GRANDE, pero evitas que se borren palabras relevantes a la busqueda.
Sep está buena la idea, y si todo depende de que se trate nuestro sitio, por ejemplo si fuera de videojuegos y consolas, me gustaría no filtrar palabras como ps3 psp nds y otras...

En todo caso habría que ver que es más fácil, si hacer el listado de palabras a filtrar o de palabras a no filtrar...

Ahí la comprobación sería 1 por 1 pasando por todo el array no? con un while o algo de eso...
__________________
elGastronomo
  #9 (permalink)  
Antiguo 24/06/2009, 01:21
 
Fecha de Ingreso: diciembre-2007
Mensajes: 200
Antigüedad: 16 años, 4 meses
Puntos: 10
Respuesta: Como borrar palabras de dos caracteres

Muchisimas grancias por las respuestas voy a probarlo a ver si me funciona.
  #10 (permalink)  
Antiguo 24/06/2009, 11:08
 
Fecha de Ingreso: diciembre-2007
Mensajes: 200
Antigüedad: 16 años, 4 meses
Puntos: 10
Respuesta: Como borrar palabras de dos caracteres

Perfecto muchas gracias por las respuestas,funciona a la perfecci´´on
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:54.