Bueno, técnicamente, cualquier URI que comienza con un esquema (como http://
) y contiene caracteres URI válido después de que es válida según la especificación oficial URI en RFC 3986:
comienza cada URI con un nombre de esquema, como se define en la Sección 3.1, que se refiere a una especificación para asignar identificadores dentro de ese esquema. Como tal, la sintaxis de URI es un sistema de nombres federado y extensible en el que la especificación de cada esquema puede restringir aún más la sintaxis y la semántica de los identificadores que usan ese esquema.
Así que no hay nada de extraño en el rendimiento que obtiene: eso es lo que se supone que debe suceder. En cuanto a por qué debería usar el filter_var
con el indicador FILTER_VALIDATE_URL
... es mucho más apropiado semánticamente que hacer algo como lo siguiente para cada posible esquema de URL, ¿no le parece?
if (strpos($url, 'http://') === 0
|| strpos($url, 'ftp://') === 0
|| strpos($url, 'telnet://') === 0
) {
// it's a valid URL!
}
muéstrenos lo que probó y cómo. –
intente http: // 20, http: // ejemplo, son válidos – Jenny
¿El código que utilizó para realizar la prueba es? –