IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Vérifier si une url est valide


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de paradeofphp
    Inscrit en
    Décembre 2005
    Messages
    313
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 313
    Points : 94
    Points
    94
    Par défaut Vérifier si une url est valide
    Bonjour,

    J'ai une url qui peut prendre 2 formes, soit :
    1 - www.example.com/test/id-titre
    2- test/id-titre

    => test est le nom du module, il est fixe
    => id est un entier
    => titre est une chaine de cacactère

    Comment je peux faire pour valider l'url avec une expression régulière ?

    Merci d'avance

  2. #2
    Membre habitué Avatar de Epica84
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    164
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 164
    Points : 188
    Points
    188
    Par défaut
    Perso, j'aurai contourné le problème ...

    Tu fait un petit http_request et s'il te renvoi rien c'est que l'adresse URL n'est pas bonne ...

    Et si tu veut faire du contrôle tu te fait une liste de motifs avec se qui peut appaitre dans ton URL.

  3. #3
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Hello

    Quels sont tes besoins ? As tu un routeur ? Utilises-tu l'URL rewriting ?

  4. #4
    Membre régulier Avatar de paradeofphp
    Inscrit en
    Décembre 2005
    Messages
    313
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 313
    Points : 94
    Points
    94
    Par défaut
    Bonjour,

    Merci pour vos réponses.
    En fait, mon besoin est le suivant :
    les membres du sites participent à un concours. Les membres doivent choisir des articles qui n'ont pas de photo et uploader leur propre photo et doivent aussi saisir l'url de l'article.

    Pour l'url rewrting oui je l'utilise. Voici la règle que je n'arrive pas à transformer pour la fonction preg_match :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ^test/(?:([a-zA-Z0-9@_-]+)/)?([0-9]+)[-]([a-zA-Z0-9@_-]+)
    J'ai écris ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
     
    $url = "test/4507-bla-bla";
    if(preg_match("/^test/(?:([a-zA-Z0-9@_-]+)/)?([0-9]+)[-]([a-zA-Z0-9@_-]+)/", $url)){
    	 echo "url is valid.";
    }else{
    	echo "url is not valid.";
    }	 
     
    ?>
    j'ai eu l'erreur suivante :

    Warning: preg_match() [function.preg-match]: Unknown modifier '(' in C:\wamp\www\ricardo\regex.php on line 4
    url is not valid.
    Je ne sais pas trop c'est quoi le problème.

    Merci pour votre aide

  5. #5
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Ta regexp n'est pas correcte car tu n'a pas mis de delimiter. Preg match utilise le premier caractère comme délimiteur en l'occurrence le slash donc lors que tu l'utilise à nouveau dans l'expression il croit que la définition de la regexp se termine et que les options prennent place.
    Regarde la documentation pour en savoir davantage: http://www.php.net/manual/en/pcre.pattern.php

    Voici le pattern équivalent en PHP:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #^test/([a-zA-Z0-9@_\-]+/)?[0-9]+\-[a-zA-Z0-9@_\-]+/?#

Discussions similaires

  1. Vérifier si un Url est valide
    Par syrll dans le forum VB.NET
    Réponses: 3
    Dernier message: 26/01/2014, 17h03
  2. [PHP 5.3] Problème n'arrive pas à vérifié si une URL est valide ou non
    Par kopax dans le forum Langage
    Réponses: 9
    Dernier message: 09/09/2011, 14h16
  3. Comment savoir si une URL est valide
    Par jauffray dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 30/05/2011, 13h28
  4. Vérifier si une date est valide ou non
    Par Juju54350 dans le forum C#
    Réponses: 2
    Dernier message: 21/09/2010, 15h20
  5. test si une Url est valide ?
    Par lulu1664 dans le forum Windows
    Réponses: 5
    Dernier message: 10/08/2005, 10h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo