PHP - identification d'url

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par Gill's, 24 Août 2007.

  1. Gill's
    Gill's Nouveau WRInaute
    Inscrit:
    3 Janvier 2006
    Messages:
    9
    J'aime reçus:
    0
    Le code dans lequel je cherche mon expression est du type :

    <h2 class=classe1><a href="http://www.site.com/gabarit.php?cat=cat1&f=3">ma page</a></h2><h2 class=classe1><a href="http://www.site.com/gabarit.php?cat=cat1&f=2">ma page 2</a></h2> etc...

    Comme vous le voyez, le code n'est pas formaté ligne par ligne, tout se suit.

    Je voudrais pouvoir identifier chaque url :

    <a href="http://www.site.com/gabarit.php?cat=cat1&f=3">ma page</a>

    Comment je fais pour que mon identification s'arete a chaque balise </a> pour pouvoir ensuite afficher toutes les chaines trouvées ?

    j'ai fais ca mais ca ne marche pas :

    preg_match_all('/\<a href="(.*)(www.site.com)+(.*?)(<\/a>)+/Ui',$file_contents,$out);

    la chaine semble ne pas s'areter a chaque </a> trouvé, mais plutot au tout dernier </a> trouvé dans l'ensemble du code.

    comment faire ?

    Merci !
     
  2. Didier_S
    Didier_S WRInaute occasionnel
    Inscrit:
    24 Août 2004
    Messages:
    470
    J'aime reçus:
    2
    essaie avec (.*?) à la place de (.*)
    (merci ecocentric)
     
  3. Gill's
    Gill's Nouveau WRInaute
    Inscrit:
    3 Janvier 2006
    Messages:
    9
    J'aime reçus:
    0
    j'ai testé, mais ca ne fonctionne toujours pas :

    preg_match_all('/\<a href="(.*?)(www.site.com)+(.*?)(<\/a>)+/Ui',$file_contents,$out);


    L'identification va toujours jusqu'au dernier </a> trouvé dans tout le code, pas le premier rencontré après "www.site.com".

    Hors je voudrais pouvoir identifier chaque lien, 1 par 1.

    A+
     
  4. Leonick
    Leonick WRInaute accro
    Inscrit:
    8 Août 2004
    Messages:
    19 274
    J'aime reçus:
    0
    heu, pourquoi *? ça fait doublon, non ?
    il faut plutôt remplacer (.*) par ([^>]*) et ça fonctionnera
     
  5. sunflower
    sunflower WRInaute discret
    Inscrit:
    5 Janvier 2006
    Messages:
    111
    J'aime reçus:
    0
    Plutôt une regexp comme ça?

    '(<a href="(https?)://www.site.com([^"]*)[^<]*</a>)'

    matche pas les sous-domaines de :www.site.com ni les liens relatifs (et que le protocole http|https)

    Les backreferences devraient te donner le mode http|https, la query string, et la balise entière de <a> à </a>

    Bon courage avec les regexp ;)
     
Chargement...
Similar Threads - PHP identification Forum Date
Identification et Commentaires en php Développement d'un site Web ou d'une appli mobile 8 Mars 2009
[Php] Formulaire d'identification et de renvoi prédéfini Développement d'un site Web ou d'une appli mobile 19 Août 2007
Identification sur phpbb Administration d'un site Web 8 Janvier 2004
Indent en mode PHP ? Développement d'un site Web ou d'une appli mobile 9 Juin 2022
Arborescence de classes PHP et séquentialité. Développement d'un site Web ou d'une appli mobile 16 Mai 2022
Afficher des infos depuis plusieurs page en PHP Développement d'un site Web ou d'une appli mobile 23 Mars 2022
Sites de scripts PHP, jQuery, Ajax, etc. Le café de WebRankInfo 20 Mars 2022
Détecter arrêt user d'un script PHP ? Développement d'un site Web ou d'une appli mobile 28 Décembre 2021
sessions PHP sans cookies ? Développement d'un site Web ou d'une appli mobile 26 Décembre 2021
Afficher la dernière version d'un fichier php ? Développement d'un site Web ou d'une appli mobile 8 Novembre 2021
PHP / CURL : interrogation page tiers ne fonctionne plus Développement d'un site Web ou d'une appli mobile 2 Octobre 2021
Actualiser un script php toutes les 10 secondes Développement d'un site Web ou d'une appli mobile 6 Septembre 2021
PHP : problème de comparaison égalité dans boucle FOR avec incrément décimal de 0.1 Développement d'un site Web ou d'une appli mobile 26 Août 2021
Cache Etag nginx et PHP ? Administration d'un site Web 7 Août 2021
Fichier avec ou sans extension php pour le référencement Crawl et indexation Google, sitemaps 3 Août 2021
mon code ne fonctionne pas pour masquer les .php URL Rewriting et .htaccess 31 Juillet 2021
Malware S.Susp.PHP.gen... Administration d'un site Web 15 Juillet 2021
La fonction mail (PHP) ne passe pas ! Demandes d'avis et de conseils sur vos sites 28 Juin 2021
Fonction récursive PHP. Développement d'un site Web ou d'une appli mobile 24 Avril 2021
Redirections .htm en .php URL Rewriting et .htaccess 16 Mars 2021