Avatar ·

Cómo verificar si una cadena comienza con una subcadena dada en PHP?

¡Hola a todos! Soy nuevo en PHP y estoy escribiendo un pequeño script para procesar URLs. Necesito verificar si una cadena comienza con un prefijo específico, por ejemplo, "https://" o "/admin/". En otros lenguajes he visto funciones como startsWith(), pero en PHP parece que no existe. Intenté usar strpos(), pero devuelve una posición, no un valor booleano. Tuve que escribir un workaround: $url = "https://example.com"; if (strpos($url, "https://") === 0) { echo "Comienza con https"; } Esto funciona, pero se ve feo. Tengo que escribir constantemente === 0, que es fácil de olvidar o confundir con !== false. ¿Hay una forma más elegante? ¿Quizás una función incorporada o una construcción corta? Agradecería ejemplos de código y una explicación de cómo funciona. ¡Gracias! <<>>

La mejor manera: usar str_starts_with() (PHP 8.0+)

A partir de PHP 8.0, el lenguaje tiene una función incorporada str_starts_with() que hace exactamente lo que necesitas. Devuelve