php

PHP – Transformar vocales – Ejercicio resuelto

En este post de programación en PHP vamos a resolver un ejercicio en donde vamos a transformar todas las vocales de una cadena sin usar la función <span class="refname">strtr</span> ni str_replace. El ejercicio dice así:

Realiza una función que dada una cadena realice una transformación sin utilizar la función strtr ni str_replace y convierta todas las vocales (mayúsculas o minúsculas) del fichero a ¿.

Nota: la cadena se mandará por un formulario a través de un archivo HTML.

Ejemplo de uso:

Cadena original a transformar:
Esta es la cadena original y la voy a modificar.
Cadena final transformada:
¿st¿ ¿s l¿ c¿d¿n¿ ¿r¿g¿n¿l y l¿ v¿y ¿ m¿d¿f¿c¿r.
Número de vocales encontradas: 18

Veamos cómo resolver este ejercicio en PHP.

Explicación del algoritmo

No podemos usar las funciones para reemplazar cadenas, pero sí podemos crear una nueva cadena y concatenarle cada carácter de la cadena original.

El reemplazo vendría al concatenar, pues si encontramos que el carácter actual es una vocal, concatenamos el símbolo de reemplazo en lugar de la vocal.

En caso de que el char actual no sea una vocal, lo concatenamos tal y como está.

Reemplazar vocales en PHP

Entonces tenemos el siguiente código. Como vamos a recibir la cadena a través de un formulario, leemos del arreglo $_POST. Después declaramos una cadena vacía así como el contador de las mismas, y recorremos la cadena letra por letra.

Ya dentro del recorrido hacemos la comprobación de la que hablé anteriormente:

See the gist on github.

Al finalizar el recorrido de la cadena vamos a tener la misma con las vocales ya reemplazadas dentro de $transformada. Ahora podemos hacer cualquier cosa con la cadena.

Poniendo todo junto

El ejercicio de PHP solicita que la cadena sea enviada a través de un formulario web. Entonces tenemos el simple formulario HTML:

See the gist on github.

Ahora lo recibimos en PHP e imprimimos los resultados justo como lo solicita el ejercicio:

See the gist on github.

Al probarlo, funciona correctamente, pues se han reemplazado todas las vocales de la cadena con un símbolo especificado por el usuario, además de contar la cantidad de vocales en este ejercicio de programación en PHP:

PHP – Reemplazar vocales de cadena – Ejercicio resuelto

Si quieres puedes probarlo por ti mismo en este enlace. También puedes leer más entradas sobre PHP por aquí.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Solución: Unable to extract uploader id con youtube-dl

En mi blog te he enseñado a usar youtube-dl para descargar vídeos con permiso del…

3 días hace

Enviar foto a Telegram usando cURL y Bot

Siguiendo con los tutoriales que consumen la API de los Bots de Telegram con cURL…

3 días hace

cURL y Telegram: enviar mensaje a Bot

En un post previo te enseñé a enviar un mensaje en nombre de un Bot…

3 días hace

Impresora térmica con Telegram usando Bot

En este artículo te voy a mostrar una guía para imprimir en una impresora térmica…

3 días hace

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

1 semana hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

1 semana hace

Esta web usa cookies.