Récupérer des liens d’une page web
PHP, MYSQL, Javascript, HTML…Just do it!
icône RSS icône Emai icône Accueil
  • Récupérer des liens d’une page web

    Posté le 03/06/2009 admin Pas de commentaire

    Récupération des liens d’une page ( la valeur d’attribut ‘href’ de la balise <a>) n’est pas toujours une tâche facile.
    En effet, une page web peut être du type html ou xhtml, des balises peuvent être écrits en minuscule ou majuscule, des attributs des balises peuvent être entourées par les quotes simples ou doubles ou ne pas du tout avoir de quotes.

    Voici une expression régulières qui marchera dans tous les cas :

    $reg_exp = ‘#<a[^>]*href=["\']?([^"\'> ]*)["\']?[^>]*>#is’ ;

    Voici la page de test :

    <?php

    $content = file_get_contents('http://www.kodeya.com');
    $reg_exp = '#<a[^>]*href=["\']?([^"\'> ]*)["\']?[^>]*>#is’ ;
    if( preg_match_all( $reg_exp , $content, $matches )){

    echo ‘<pre>’;
    print_r( $matches[1] );
    echo ‘</pre>’ ;

    }
    ?>

    Ce qui donne comme résultat tous les liens de la page d’accueil :

    Array
    (
        [0] => http://www.kodeya.com/
        [1] => http://www.kodeya.com/feed
        [2] => mailto:xxx@gmail.com
        [3] => http://www.kodeya.com/
        [4] => http://www.kodeya.com/
        [5] => http://www.kodeya.com/about
        [6] => http://www.kodeya.com/php-developpement-web
        [7] => http://www.kodeya.com/php-developpement-web/recuperer-des-liens-page-web-56.htm
        [8] => http://www.kodeya.com/php-developpement-web/recuperer-des-liens-page-web-56.htm#comments
        [9] => http://www.kodeya.com/category/php-developpement-web
        [10] => http://www.kodeya.com/category/php-developpement-web/expressions-regulieres
        [11] => http://www.kodeya.com/tag/expression-reguliere
        [12] => http://www.kodeya.com/tag/php
        [13] => http://www.kodeya.com/tag/recuperer-des-liens
        [14] => http://www.kodeya.com/notes/hello-world-1.htm
        [15] => http://www.kodeya.com/notes/hello-world-1.htm#comments
        [16] => http://www.kodeya.com/category/notes
        [17] => http://www.kodeya.com/php-developpement-web/recuperer-des-liens-page-web-56.htm
        [18] => http://www.kodeya.com/notes/hello-world-1.htm
        [19] => http://www.kodeya.com/category/notes
        [20] => http://www.kodeya.com/category/php-developpement-web
        [21] => http://www.kodeya.com/category/php-developpement-web/expressions-regulieres
        [22] => http://www.kodeya.com/about
        [23] => http://www.kodeya.com/php-developpement-web
        [24] => http://www.kodeya.com/php-developpement-web/php-expressions-regulieres
        [25] => http://www.kodeya.com/php-developpement-web/php-construire-expression-reguliere-meta-caracteres
        [26] => http://www.kodeya.com/tag/expression-reguliere
        [27] => http://www.kodeya.com/tag/php
        [28] => http://www.kodeya.com/tag/recuperer-des-liens
    )
    

    Laisser une réponse