PHP - Extraer la primera vocal de una palabra sin tomar encuenta la primera letra

 
Vista:

Extraer la primera vocal de una palabra sin tomar encuenta la primera letra

Publicado por Julio (1 intervención) el 04/11/2017 06:42:37
Pues ocupo eso ya que si necesito para un proyecto para obtener la curp atravez de php

necesito sacar la primera vocal del apellido sin tomar en cuenta la primera letra

ejemplo

Melendez = sacar la letra "e" ya que es la primer vocal

Osuna = sacar la letra "u" ya que es la primer vocal eliminando la primera letra que aunque sea vocal "o" no se toma encuenta
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-2
Responder
Imágen de perfil de Lopez
Val: 395
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Extraer la primera vocal de una palabra sin tomar encuenta la primera letra

Publicado por Lopez (128 intervenciones) el 04/11/2017 16:49:40
Hola Julio,

Quizas esta no sea la manera mas elegante,
pero funciona perfecto ademas de ser muy facil de manejar.

1
2
3
4
5
6
<?
$palabra = "elimina";
$vocales = array_intersect(str_split($palabra), array('A','E','I','O','U','a','e','i','o','u'));
echo array_shift($vocales);  //http://php.net/manual/es/function.array-shift.php
//echo array_pop($vocales); //http://php.net/manual/es/function.array-pop.php
 ?>

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Extraer la primera vocal de una palabra sin tomar encuenta la primera letra

Publicado por Gonzalo (615 intervenciones) el 05/11/2017 04:59:38
yo lo resolveria con un substr, asi eliminas la primer letra de la palabra.

luego usaria un replace, quitas las consonantes y el primer caracter será la primer vocal disponible.

espero que te sirva.

porque no podemos regresar en el tiempo? toma una fotografia, el tiempo se congela justo en ese instante y queda plasmado en la foto, ahora toma en cuenta que la tierra gira en su eje, la tierra se desplaza en espiral alrededor del sol, el sol gira alrededor del centro de la galaxia, la galaxia se desplaza hacia un punto desconocido, si tomas en cuenta el momento en que tomaste la foto y el tiempo que tardaste en leer este parrafo te daras cuenta que el lugar donde la tomaste esta a kilometros de distancia, por eso no podemos regresar el tiempo, dicho de otra manera: tienes que regresar todo (tierra, sol y galaxias) al lugar donde estaban para poder verte a ti mismo en el momento exacto en que tomaste la foto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Extraer la primera vocal de una palabra sin tomar encuenta la primera letra

Publicado por kip (877 intervenciones) el 05/11/2017 17:47:13
La solución de Lopez es muy buena !

Aca te dejo otra, siguiendo el 'modus operandi' de Lopez, usando arrays:

1
2
3
4
5
6
7
$lastname = 'Melendez';
$vowels = array_values(
    array_filter(str_split($lastname), function($v) {
        return stripos('aeiou', $v) !== false;
    })
);
echo $vowels[0];

O usando expresiones regulares(resulta algo mas simple):

1
2
3
$lastname = 'Melendez';
preg_match('/[aeiou]/i', $lastname, $vowels);
echo $vowels[0];
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Lopez
Val: 395
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Extraer la primera vocal de una palabra sin tomar encuenta la primera letra

Publicado por Lopez (128 intervenciones) el 05/11/2017 18:07:18
Nada mal mi buen kip :P
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar