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 :

Extraire URL d'une page php [Fait] [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 232
    Points : 1 897
    Points
    1 897
    Par défaut Extraire URL d'une page php
    Salut à tous,

    Pour extraire les urls d'une page php avec les expressions régulières, j'utilise la code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    $pattern = "^" . "http://monsite/" . "(.*).php$";
     
    $result = eregi($motif, $page, $regs);
     
     
        if (result > 0)
        {
            foreach ($regs as $lien)
            {
                $tab[] = $lien;
            }
     
            return $tab;
        }
    Et bien devinez quoi ? Ce code ne fonctionne pas car il ne trouve aucune des urls de la page.


    Mais pourquoi donc : où est donc l'erreur ?

    Merci d'avance.
    La connaissance ne sert que si elle est partagée.
    http://ms2i.net

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Puis-je te suggérer cette solution : ExpressionsRégulières

    Mais le gros problème vient de ton masque et surtout de l'échappement des caractères spécifiques aux RegEx

  3. #3
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 232
    Points : 1 897
    Points
    1 897
    Par défaut
    Citation Envoyé par Kerod
    Puis-je te suggérer cette solution : ExpressionsRégulières

    Mais le gros problème vient de ton masque et surtout de l'échappement des caractères spécifiques aux RegEx
    Merci pour la référence : mais je l'ai déjà lue sans trouver la réponse au problème.

    En fait, je pense comme toi : le pattern n'est pas exact, mais je ne sais pas où.

    A+
    La connaissance ne sert que si elle est partagée.
    http://ms2i.net

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Tes urls sont dans des liens ou juste tel quels sur la page ?

  5. #5
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 232
    Points : 1 897
    Points
    1 897
    Par défaut
    Citation Envoyé par Kerod
    Tes urls sont dans des liens ou juste tel quels sur la page ?
    Elles peuvent être dans des balise <a href=""> ou dans du code javascript (qui sert à la validation de formulaire).
    La connaissance ne sert que si elle est partagée.
    http://ms2i.net

  6. #6
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Déjà il faut savoir une chose : le caractère ^ est a utilisé uniquement si c'est le début de la chaîne or tu souhaites récupérer toutes les urls donc il te renverra rien du tout, sauf si le permier élément de ta chaîne est une url

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $pattern = "http://monsite/" . "(.*).php$";
    et je verrai :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    eregi("#http:\/\/monsite\/(.*)\.php#Usi", $page, $regs);

  7. #7
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 232
    Points : 1 897
    Points
    1 897
    Par défaut
    Merci Kerod, je viens d'essayer ton pattern :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $result = eregi("#http:\/\/localhost\/monsite\/(.*)\.php#Usi", $page, $regs);
    ... mais toujours aucun résultat.
    La connaissance ne sert que si elle est partagée.
    http://ms2i.net

  8. #8
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Tu peux donner un exemple de chaine ?

  9. #9
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 232
    Points : 1 897
    Points
    1 897
    Par défaut
    Citation Envoyé par Kerod
    Tu peux donner un exemple de chaine ?
    Par exemple et pour rester simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <a href='http://www.jade-immobilier.eu/immobilier-FR.php' >
     
    ou bien :
     
    <a href="http://www.jade-immobilier.eu/immobilier-FR.php" >
    ou encore :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.forms[0].action = "http://www.jade-immobilier.eu/immobilier.php";
    La connaissance ne sert que si elle est partagée.
    http://ms2i.net

  10. #10
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Un exemple qui fonctionne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    $page = "<a href='http://www.jade-immobilier.eu/immobilier-FR.php' > et ".'document.forms[0].action = "http://www.jade-immobilier.eu/immobilier.php"'; 
    preg_match_all("#http:\/\/(.*)\.php#Usi", $page, $regs);
     
     for($i = 0; $i < count($regs[0]); $i++)
         echo $regs[1][$i]."<br/>";
    ?>

  11. #11
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 232
    Points : 1 897
    Points
    1 897
    Par défaut
    Merci Kerod : je vais essayer dès demain.
    La connaissance ne sert que si elle est partagée.
    http://ms2i.net

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

Discussions similaires

  1. Récupérer variable d'une page PHP - URL
    Par GarsDuCalvados dans le forum ASP
    Réponses: 4
    Dernier message: 08/02/2013, 20h19
  2. Envoi de fichier en POST via une URL vers une page php
    Par Supersonik dans le forum Entrée/Sortie
    Réponses: 14
    Dernier message: 21/07/2011, 16h47
  3. [AJAX] extraire des donnes depuis une page php
    Par freddy000 dans le forum AJAX
    Réponses: 1
    Dernier message: 20/01/2011, 14h09
  4. extraire des urls d'une page web
    Par Zorgloub dans le forum C++
    Réponses: 2
    Dernier message: 10/11/2007, 00h16
  5. [Tableaux] Ajout url dans une page PHP
    Par franck.automaticien dans le forum Langage
    Réponses: 20
    Dernier message: 25/02/2007, 14h06

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