Foros del Web » Programando para Internet » PHP »

Extraer las letras de una cadena

Estas en el tema de Extraer las letras de una cadena en el foro de PHP en Foros del Web. Hola amigos, quisiera saber como hacer esto: Por ejemplo yo tengo la variable $palabra = '2x88e6d'; y de eso nosé como extraer o contar solo ...
  #1 (permalink)  
Antiguo 07/06/2014, 21:42
 
Fecha de Ingreso: junio-2014
Mensajes: 3
Antigüedad: 4 años, 4 meses
Puntos: 0
Extraer las letras de una cadena

Hola amigos, quisiera saber como hacer esto:
Por ejemplo yo tengo la variable
$palabra = '2x88e6d';
y de eso nosé como extraer o contar solo los terminos de letras que en este caso serian 3.

Saludos y de antemano gracias por su ayuda
  #2 (permalink)  
Antiguo 07/06/2014, 21:54
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 11 años, 6 meses
Puntos: 290
Respuesta: Extraer las letras de una cadena

Puede haber fomas mas simples... mas compatas.... mas fashion:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $palabra = '2x88e6d';
  4.  
  5. // Todas las versiones de PHP
  6. $cnt=0;
  7. foreach ((str_split (strtolower($palabra))) as $letra)
  8.     $cnt += (($letra > 'a') and ($letra <= 'z'));
  9.    
  10. echo "Cant : $cnt\n";

Y... para PHP 5.5 o superiores vale lo anterior pero tambien esto:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $palabra = '2x88e6d';
  4.  
  5. // PHP 5.5+
  6. $palabra = strtolower($palabra);
  7. for ($i=0;$i<strlen($palabra);$i++)
  8.     $cnt += (($palabra[$i] > 'a') and ($palabra[$i] <= 'z'));
  9.  
  10. echo "Cant : $cnt\n";


Cabe anotar lo inconcistente del lenguaje y el hecho de que la siguen embarrandola porque para PHP 5.5 puedes tratar al string como un array para acceder a sus elementos posicionalmente como $cadena[$indice] pero no deja usar count() y obliga a usar strlen()
__________________
Salu2!

Última edición por Italico76; 07/06/2014 a las 22:31
  #3 (permalink)  
Antiguo 07/06/2014, 22:55
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 309
Antigüedad: 8 años
Puntos: 10
Respuesta: Extraer las letras de una cadena

Podes usar expresiones regulares te va a facilitar mucho código.

Código PHP:
Ver original
  1. $palabra = '2x88e6d';
  2. $solo_letras = preg_replace('/[0-9]/', '', $palabra);  
  3.  
  4. echo $solo_letras; //Resultado: xed

Utiliza preg_replace en php +5.3 si es una version mas vieja utiliza eregi_replace
  #4 (permalink)  
Antiguo 08/06/2014, 00:24
Avatar de Alexis88
Objetivista
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.414
Antigüedad: 6 años, 11 meses
Puntos: 926
Respuesta: Extraer las letras de una cadena

También podrías utilizar la función preg_grep para obtener una matriz con los valores de la cadena que coincidan con la expresión regular, para lo cual, tendrás que convertir a la cadena en array utilizando la función str_split.

Código PHP:
Ver original
  1. $palabra = '2x88e6d';
  2. $letras = preg_grep('/[a-z]/i', str_split($palabra));  
  3. echo count($letras); //3

Con count, obtienes el total de elementos de la matriz resultante.

Saludos
__________________
«Laissez faire et laissez passer, le monde va de lui même»

Etiquetas: cadena, letras
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:16.