Quiero usar PHP para verificar, si la cadena almacenada en la $myoutput
variable contiene una sintaxis de enlace válida o es solo un texto normal. La función o solución que estoy buscando debería reconocer todos los formatos de enlaces, incluidos los que tienen parámetros GET.
En file_get_contents()
mi caso, no es posible una solución, sugerida en muchos sitios, para consultar una cadena (usando CURL o función) y me gustaría evitarla.
Pensé en expresiones regulares u otra solución.
Respuestas:
Puede usar un Validador de filtro nativo
Ejemplo:
fuente
FILTER_VALIDATE_URL
no validará el protocolo de una url. Entoncesssh://
,ftp://
etc. pasará.Aquí está el mejor tutorial que encontré allí:
http://www.w3schools.com/php/filter_validate_url.asp
Posibles banderas:
fuente
!filter_var(...) === false
==>filter_var(...) === true
o simplementefilter_var(...)
. :)ttps://www.youtube.com
como válidoEl uso de filter_var () fallará para las URL con caracteres no ascii, por ejemplo ( http://pt.wikipedia.org/wiki/Guimarães ). La siguiente función codifica todos los caracteres no ascii (por ejemplo, http://pt.wikipedia.org/wiki/Guimar%C3%A3es ) antes de llamar a filter_var ().
Espero que esto ayude a alguien.
fuente
fuente
Personalmente, me gustaría usar expresiones regulares aquí. El código de abajo funcionó perfectamente para mí.
fuente
Dados problemas con filter_var () que necesitan http: //, uso:
$is_url = filter_var($filename, FILTER_VALIDATE_URL) || array_key_exists('scheme', parse_url($filename));
fuente
ttps://www.youtube.com
como válidoPuede usar esta función, pero devolverá falso si el sitio web está fuera de línea.
fuente
En realidad ... filter_var ($ url, FILTER_VALIDATE_URL); no funciona muy bien Cuando escribe una url real, funciona, pero solo comprueba http: // así que si escribe algo como " http: // weirtgcyaurbatc ", seguirá diciendo que es real.
fuente
ttps://www.youtube.com
como válidoOtra forma de verificar si la URL dada es válida es intentar acceder a ella, la siguiente función buscará los encabezados de la URL dada, esto asegurará que la URL sea válida Y el servidor web esté vivo:
fuente
Encontré este artículo a partir de 2012. Tiene en cuenta variables que pueden o no ser solo URL simples.
El autor del artículo, David Müeller , proporciona esta función que dice, "... podría valer la pena [sic]", junto con algunos ejemplos
filter_var
y sus defectos.fuente
si alguien está interesado en usar el cURL para la validación. Puedes usar el siguiente código.
fuente