PHP - Mostrar todas las palabras que tienen al menos dos vocales distintas

 
Vista:
sin imagen de perfil

Mostrar todas las palabras que tienen al menos dos vocales distintas

Publicado por AlbertitoMegaHD (3 intervenciones) el 12/12/2016 11:16:31
Estoy preparando una relación de ejercicion y hay uno que no consigo resolver. Necesito ayuda.

Hacer un script en php que lea una frase mediante un formulario y muestre todas las palabras que tienen al menos dos vocales distintas.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Mostrar todas las palabras que tienen al menos dos vocales distintas

Publicado por Fernando (3 intervenciones) el 12/12/2016 13:10:51
Para lo que tú propones yo sólo usaría el php para llamar un script en shell script, que mediante el comando "sed", el script haga lo que dices... pero con php puro estoy sin soluciones xD.
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

Mostrar todas las palabras que tienen al menos dos vocales distintas

Publicado por kip (877 intervenciones) el 12/12/2016 14:26:24
Hola, prueba con esto a ver si es lo que buscas:

1
2
3
4
5
6
7
8
9
10
$frase = 'Este es un test, deberian aparecer ciertas palabras';
$array_frase = explode(' ', str_replace("\n", ' ',trim(strtolower($frase))));
$palabras_vocales_distintas = '';
foreach ($array_frase as $palabra) {
    preg_match_all('/[aeiou]+/', $palabra, $vocales);
    $vocales = array_count_values($vocales[0]);
    if (max($vocales) > 1) $palabras_vocales_distintas .= " {$palabra}";
}
$palabras_vocales_distintas = (strlen($palabras_vocales_distintas) > 1) ? trim($palabras_vocales_distintas) : 'NO HAY PALABRAS' ;
echo $palabras_vocales_distintas;

Para usarlo en un formulario tan solo debes colocar como el valor de frase la variable $_POST correspondiente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
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

Mostrar todas las palabras que tienen al menos dos vocales distintas

Publicado por kip (877 intervenciones) el 12/12/2016 16:52:35
He tenido un error, al crear el codigo he hecho lo contrario a lo que pides, muestro las palabras que tengas vocales repetidas en lugar de vocales diferentes !

Esto se soluciona simplemente cambiando el bloque del foreach asi:

1
2
3
4
5
foreach ($array_frase as $palabra) {
    preg_match_all('/[aeiou]/', $palabra, $vocales);
    $vocales = array_unique($vocales[0]);
    if (count($vocales) > 1) $palabras_vocales_distintas .= " {$palabra}";
}

De esa forma muestro ya las palabras que tengan 2 o mas vocales distintas, en el caso de la frase anterior deberia mostrar las palabras:
deberian -> eia
aparecer -> ea
etc....

Prueba el código y nos avisas si es lo que necesitas....
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