Foros del Web » Programando para Internet » PHP »

quitar palabras menores a 3 letras string

Estas en el tema de quitar palabras menores a 3 letras string en el foro de PHP en Foros del Web. como puedo quitar de una oracion las palabras que contenga menos de 3 letras. ejemplo Original: "El progresismo de derecha no existe" Deseado: "progresismo derecha ...
  #1 (permalink)  
Antiguo 17/01/2011, 12:55
 
Fecha de Ingreso: enero-2006
Mensajes: 199
Antigüedad: 18 años, 3 meses
Puntos: 5
quitar palabras menores a 3 letras string

como puedo quitar de una oracion las palabras que contenga menos de 3 letras.

ejemplo

Original:
"El progresismo de derecha no existe"

Deseado:
"progresismo derecha existe"

Saludos.
  #2 (permalink)  
Antiguo 17/01/2011, 13:03
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: quitar palabras menores a 3 letras string

Usa strlen para saber cuantas letras hay
Código PHP:
Ver original
  1. <?php
  2. $str = 'abc';
  3. if(strlen($str) > 3){
  4.      echo 'hay más de tres letras';
  5. }
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 17/01/2011, 13:07
 
Fecha de Ingreso: enero-2006
Mensajes: 199
Antigüedad: 18 años, 3 meses
Puntos: 5
Respuesta: quitar palabras menores a 3 letras string

Cita:
Iniciado por abimaelrc Ver Mensaje
Usa strlen para saber cuantas letras hay
Código PHP:
Ver original
  1. <?php
  2. $str = 'abc';
  3. if(strlen($str) > 3){
  4.      echo 'hay más de tres letras';
  5. }
gracias por responder pero lo que deseo es remplazar o quitar las palabras menores de 3 letras inclusives. no asi saber si hay palabras.

Saludos
  #4 (permalink)  
Antiguo 17/01/2011, 13:32
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: quitar palabras menores a 3 letras string

Código PHP:
Ver original
  1. <?php
  2. $str = 'Texto un poco largo para saber si   se puede quitar las palabras que sean menores a 3.';
  3. echo preg_replace('/\b.{1,3}\b/', ' ', $str);
Si no es así, entonces brinda un ejemplo, porque no se te entiende.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 17/01/2011, 13:47
 
Fecha de Ingreso: enero-2011
Mensajes: 49
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: quitar palabras menores a 3 letras string

Cita:
Iniciado por abimaelrc Ver Mensaje
Código PHP:
Ver original
  1. <?php
  2. $str = 'Texto un poco largo para saber si   se puede quitar las palabras que sean menores a 3.';
  3. echo preg_replace('/\b.{1,3}\b/', ' ', $str);
Si no es así, entonces brinda un ejemplo, porque no se te entiende.
Excelente respuesta, amigo donde puedo aprender o saber sobre los patrones de remplazo?

Gracias
  #6 (permalink)  
Antiguo 17/01/2011, 13:47
 
Fecha de Ingreso: enero-2006
Mensajes: 199
Antigüedad: 18 años, 3 meses
Puntos: 5
Respuesta: quitar palabras menores a 3 letras string

Cita:
Iniciado por abimaelrc Ver Mensaje
Código PHP:
Ver original
  1. <?php
  2. $str = 'Texto un poco largo para saber si   se puede quitar las palabras que sean menores a 3.';
  3. echo preg_replace('/\b.{1,3}\b/', ' ', $str);
Si no es así, entonces brinda un ejemplo, porque no se te entiende.
perfecto!

muchas gracias.
  #7 (permalink)  
Antiguo 17/01/2011, 13:49
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: quitar palabras menores a 3 letras string

En el área de aportes hay un tema que te puede ayudar sobre Expresiones Regulares, y a través de internet hay mucho material que te brindará más datos.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #8 (permalink)  
Antiguo 17/01/2011, 13:51
 
Fecha de Ingreso: enero-2011
Mensajes: 49
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: quitar palabras menores a 3 letras string

Yo recien estoy empezando a programar en PHP.

Y lo iba hacer asi

Código:
$strCadena = "El progresismo de derecha no existe";
echo ParseText($strCadena);

function ParseText($strCadena)
{
	$arrCadena = preg_split('/ /', $strCadena, -1, PREG_SPLIT_OFFSET_CAPTURE);
	$strResult = "" ;
	for ($i = 0; $i < count($arrCadena); $i++)
	{
	   $strParte = $arrCadena[$i][0];
	   if (strlen(trim($strParte)) > 3)
	   {
			$strResult = $strResult . $strParte . " ";
	   }
	}
	return $strResult;
}
  #9 (permalink)  
Antiguo 17/01/2011, 13:59
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: quitar palabras menores a 3 letras string

También se puede hacer como lo estás haciendo, dividiendo las palabras, ahora lo podías haber hecho más corto usando str_word_count.
Código PHP:
Ver original
  1. <?php
  2. $str = 'Texto un poco largo para saber si   se puede quitar las palabras que sean menores a 3.';
  3. foreach(str_word_count($str, 1) as $value){
  4.     if(strlen($value) > 3){
  5.         echo $value . ' ';
  6.     }
  7. }
Pero vas bien
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #10 (permalink)  
Antiguo 17/01/2011, 14:02
 
Fecha de Ingreso: enero-2011
Mensajes: 49
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: quitar palabras menores a 3 letras string

Excelente!!!

Sos un capo.

Saludos

Etiquetas: letras, palabras, quitar, string
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 01:09.