129 votes

PHP validation/regex URL

J’ai recherché pour une expression régulière simple URL, quelqu'un a-t-il un très pratique qui fonctionne bien ? Je n’ai pas trouvé un avec les classes de validation du framework zend et ont vu plusieurs implémentations.

Merci

209voto

Stanislav Points 1994

Utilisation du `` fonction de valider si une chaîne est URL ou non :

C’est une mauvaise habitude d’utiliser des expressions régulières si pas nécessaire.

82voto

Owen Points 36009

J’ai utilisé cela sur quelques projets, je ne crois pas, j’ai couru dans les questions, mais je suis sûr que ce n’est pas exhaustif :

la plupart de la jonque aléatoire à la fin est pour faire face à des situations comme `` dans une phrase (pour éviter les correspondant à la période d’essai). je ne sais pas il peut être nettoyé, mais puisque cela a fonctionné je l’ai ai plus ou moins juste copié au cours du projet au projet.

30voto

catchdave Points 2299

Conformément au manuel de PHP - parse_url devrait pas être utilisée pour valider une URL.

Malheureusement, il semble que `` n’effectue pas mieux.

Les deux et passera comme URL malformée``

C’est pourquoi dans ce cas - regex est la meilleure méthode.

13voto

Roger Points 2011

Juste au cas où vous voulez savoir si l’url existe réellement :

10voto

promaty Points 81

Je ne pense pas que l’utilisation des expressions régulières est une chose intelligente à faire dans ce cas. Il est impossible de correspondre à toutes les possibilités, et même si vous l’avez fait, il y a toujours une chance que l’url n’existe pas.

Voici un moyen très simple pour vérifier si l’url en réalité existe et est accessible en lecture :

(si il n’y a aucun `` puis cela serait également valider tous les noms de fichiers sur votre serveur)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X