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
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