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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Expression régulière sur URL


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 19
    Par défaut Expression régulière sur URL
    Bonjour,

    J'espère poster au bon endroit.

    Je cherche un script pour filtrer des messages publicitaires.

    J'aimerai en fait interdire tout message qui contient une invitation à venir visiter un site commercial du style:

    "venez faire un tour sur www.toto.com"

    - Ce doit pas être très dur à faire... mais je suis un newbee en Expression régulière
    - attention, je cherche à faire un truc qui tient compte du fait qu'une url peut prendre plusieurs formes:
    exemples:
    avec ou pas http ou https
    avec des chose comme ".fr" ".com" ".eu" etc...

    si vous avez quelques éclairages à me proposer ce serait génial :

    D'avance merci.

  2. #2
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2010
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2010
    Messages : 111
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((http:\/\/|https:\/\/)?(www.)?(([a-zA-Z0-9-]){2,}\.){1,4}([a-zA-Z]){2,6}(\/([a-zA-Z-_\/\.0-9#:?=&;,]*)?)?)
    Elle est pas mal x)

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par Soull Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((http:\/\/|https:\/\/)?(www.)?(([a-zA-Z0-9-]){2,}\.){1,4}([a-zA-Z]){2,6}(\/([a-zA-Z-_\/\.0-9#:?=&;,]*)?)?)
    Elle est pas mal x)
    pourquoi a-zA-Z ?
    pourquoi www ?

    le mieux c'est quand même le : (http:\/\/|https:\/\/)

  4. #4
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2010
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2010
    Messages : 111
    Par défaut
    http://eXample.Com renvois sur example.com (en tout cas sur chrome)

    La regex c'est:

    (http ou https ://) [non obligatoire] (www.) [non obligatoire] domaine [min maj nombre + sous domaine gerer ] . fr/com

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    tu peux largement simplifier

    (?:https?:\/\/)?[^\/]+\.\w+\S+

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 19
    Par défaut
    super d'avoir des réponses aussi rapide.

    Les regex c'est encore du chinois pour moi mais ça va bien m'aider à avancer !

    Par contre quand j'utilise la solution de stealth35, ça me génère une erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if (preg_match('(?:https?:\/\/)?[^\/]+\.\w+\S+', 'bienvenue sur www.monsite.com'))
    {
        echo 'VRAI';
    }
    else
    {
        echo 'FAUX';
    }
    ça me génère:

    Warning: preg_match() [function.preg-match]: Unknown modifier '?'

    je crois comprendre qu'il faut échapper le ? mais c'est pire encore si je l'échappe....

    quelqu'un pour m'éclairer là dessus ?

    Mais si j'utilise la solution de Soull, ça ne génére aucune erreur
    et ça fonctionne presque à 100%:

    en fait sur:
    'bienvenue sur www.monsite.com' ==> affiche VRAI
    'bienvenue sur www.monsite' ==> affiche VRAI
    'bienvenue sur monsite' ==> affiche VRAI (c'est normal)
    'bienvenue sur http://monsite' ==> affiche FAUX (problème, le http n'est pas détecté)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. expressions régulières sur url
    Par silvio7 dans le forum Général Python
    Réponses: 9
    Dernier message: 21/12/2011, 14h40
  2. [RegEx] Expression Régulière sur params url
    Par LeCaméléon dans le forum Langage
    Réponses: 4
    Dernier message: 14/11/2008, 14h40
  3. expression régulière sur une url
    Par Sh4dow49 dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 20/08/2008, 21h32
  4. expression régulière sur flux
    Par zais_ethael dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 19/09/2006, 23h38

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