regex url

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : regex url

Re: regex url

par @rthur » 18 mars 2015, 14:17

Tu regardes si filter_var($url,FILTER_VALIDATE_URL) est vrai :
- si c'est le cas, c'est que l'url est bonne
- si ce n'est pas le cas, tu regardes si filter_var('http://'.$url,FILTER_VALIDATE_URL) est vrai :
- si c'est le cas, c'est que l'url est bonne
- si ce n'est pas le cas, c'est que l'url est fausse

Re: regex url

par blinz » 18 mars 2015, 13:40

pardon ton truc marche je voulais dire ( mais oui pourquoi pas utiliser filter_validate_url mais je n'ai pas compris cette histoire de test

Re: regex url

par blinz » 18 mars 2015, 13:38

Pour filter_validate_url pourquoi pas ...
par contre je n'ai pas compris ton test avec et sans http://

Si tu peut m'éclairer stp.

Ps: tof ton truc ne marche pas :/

Re: regex url

par @rthur » 15 mars 2015, 00:53

Plutôt qu'une regex, je te conseille d'utiliser filter_var() avec le filtre de validation FILTER_VALIDATE_URL

Au moins tu es sûr ainsi de gérer tous les cas particuliers et les éventuelles évolutions possibles des url.
Pour gérer avec et sans le http://, il te suffit de faire un test de la variable rentrée et, si il est faux, refaire un test avec la variable entrée précédée de "http://"

Re: regex url

par tof73 » 14 mars 2015, 22:36

à priori :
"#^(http://)?[w-]+[w.-]+.[a-zA-Z]{2,6}#i"

regex url

par blinz » 14 mars 2015, 22:14

Salut.
J'ai une regex qui me permet de vérifier si l'url posté est valide
//Verification de la saise de l'adressee url
    if($_POST['website'] != "" && !preg_match("#^http://[w-]+[w.-]+.[a-zA-Z]{2,6}#i",$_POST['website'])){
	$erreurs['website'] = "Veuillez verifier la saisie de votre adresse url";
	}
actuellement ça accepte donc les adresse: http://www.nomdedomaine.fr
mais j'aimerais également accepté www.nomdedomaine.fr
Et ça coince ... merci pour vos solutions a venir ;)