Foros del Web » Programando para Internet » PHP »

eliminar algunos palabras de una cadena de texto

Estas en el tema de eliminar algunos palabras de una cadena de texto en el foro de PHP en Foros del Web. tengo el siguiente codigo. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original function clean ( $palabra ) {   $fl = array ( 'el' , 'la' , ...
  #1 (permalink)  
Antiguo 06/04/2012, 12:03
 
Fecha de Ingreso: febrero-2011
Mensajes: 233
Antigüedad: 8 años, 10 meses
Puntos: 4
Pregunta eliminar algunos palabras de una cadena de texto

tengo el siguiente codigo.

Código PHP:
Ver original
  1. function clean($palabra){
  2.  
  3. $fl = array('el', 'la', 'los', 'ella', 'un', 'una', 'unos', 'unas ', 'en', 'con', 'muy', 'a', 'y');
  4.  
  5. }
  6.  
  7. echo clean("Una simple oracion y ejemplo");

lo que quisiera es eliminar algunas palabras de la cadena de texto que están en el array

en este caso el resultado sería:

Una simple oracion ejemplo (se borra la "y")

usaría str_replace?... gracias por las respuestas

Última edición por tonydx16; 06/04/2012 a las 12:09
  #2 (permalink)  
Antiguo 06/04/2012, 12:15
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 10 años, 5 meses
Puntos: 641
Respuesta: eliminar algunos palabras de una cadena de texto

si es una cadena si, con str_replace, si es una expresion regular, con preg_replace.
  #3 (permalink)  
Antiguo 06/04/2012, 12:17
 
Fecha de Ingreso: febrero-2011
Mensajes: 233
Antigüedad: 8 años, 10 meses
Puntos: 4
Respuesta: eliminar algunos palabras de una cadena de texto

pero como lo haría?.. =/
  #4 (permalink)  
Antiguo 06/04/2012, 12:19
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 10 años, 5 meses
Puntos: 641
Respuesta: eliminar algunos palabras de una cadena de texto

una buena forma de empezar es leer el manual

http://php.net/manual/es/function.str-replace.php

crea tu código y si falla nos pides ayuda en las pequeñas dudas que tengas.

  #5 (permalink)  
Antiguo 06/04/2012, 13:00
 
Fecha de Ingreso: febrero-2011
Mensajes: 233
Antigüedad: 8 años, 10 meses
Puntos: 4
Respuesta: eliminar algunos palabras de una cadena de texto

tengo lo siguiente

Código PHP:
Ver original
  1. $fl = array('el', 'la', 'los', 'ella', 'un', 'una', 'unos', 'unas', 'en', 'con', 'muy', 'a', 'y', 'que', 'es');
  2.  
  3.  
  4. echo preg_replace("/\b$fl\b/i", " ", "esto es algo");

pero no cambia las palabras del array

sin expresion regular sería

Código PHP:
Ver original
  1. $fl = array('el', 'la', 'los', 'ella', 'un', 'una', 'unos', 'unas', 'en', 'con', 'muy', 'a', 'y', 'que', 'es');
  2. echo str_replace($fl, ' ', "Elias sabe");

sale: " ias sabe";
  #6 (permalink)  
Antiguo 06/04/2012, 13:05
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 10 años, 5 meses
Puntos: 641
Respuesta: eliminar algunos palabras de una cadena de texto

mmm no no, ese patrón que has hecho no tiene sentido, veamos.

como tu array es de strings no necesitas preg_replace

usa str_replace que es el que te mandé.

Código PHP:
Ver original
  1. $fl  = array(' el ', ' la ', ' los ', ' ella ', ' un ', ' una ', ' unos ', ' unas  ', ' en ', ' con ', ' muy ', ' a ', ' y', ' que ', ' es ');
  2. $replace = '';
  3. $texto = 'esto es algo';
  4. echo str_replace($fl, $replace, $texto);

así tiene más sentido.
  #7 (permalink)  
Antiguo 06/04/2012, 13:07
 
Fecha de Ingreso: febrero-2011
Mensajes: 233
Antigüedad: 8 años, 10 meses
Puntos: 4
Respuesta: eliminar algunos palabras de una cadena de texto

mira.. si sale pero tambien reemplaza la para "es" de "esto:


palabra: "Esto es algo"
sale: "to lgo"

sólo quiero que reemplace las palabras completas
  #8 (permalink)  
Antiguo 06/04/2012, 13:12
 
Fecha de Ingreso: febrero-2011
Mensajes: 233
Antigüedad: 8 años, 10 meses
Puntos: 4
Respuesta: eliminar algunos palabras de una cadena de texto

Ya se como hacerlo:

coloco espacio en el array

Código PHP:
Ver original
  1. $fl = array(' el ', ' la ', ' los ', ' ella ', ' un ', ' una ', ' unos ', ' unas  ', ' en ', ' con ', ' muy ', ' a ', ' y', ' que ', ' es '); // para que sea palabras completas
  2.  
  3. $palabra = str_replace($fl, " ", " Esto es algo "); //coloco un espacio antes y después del texto

luego el resultado borro los espacios finales

Código PHP:
Ver original
  1. echo trim($palabra);

y sale correctamente.. =)
  #9 (permalink)  
Antiguo 06/04/2012, 13:42
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 10 años, 5 meses
Puntos: 641
Respuesta: eliminar algunos palabras de una cadena de texto

muy bien, ese es el chiste de la programacion, buscarle, también podrias remplazar por '' que es igual a nada en vez de remplazar por un espacio.

Etiquetas: palabras, cadenas
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 07:31.