1. Halo Guest, pastikan Anda selalu menaati peraturan forum sebelum mengirimkan post atau thread baru.

[nanya] php extract link ada yg bisa?

Discussion in 'Pemrograman Web' started by ewwink, Jan 8, 2011.

  1. ewwink

    ewwink Super Hero

    Joined:
    Apr 27, 2006
    Messages:
    2,836
    Likes Received:
    1,100
    Location:
    Tasikmalaya, Sunda, Indonesia
    tmn2 ada yg bs extract link sprti dri contoh text berikut:
    Code:
    <p>Test paragraph bung one <a href="satu.com">text hiji</a></p>
    <p>Test paragraph roro kidul <a href="dua.com">text dua</a></p>
    <p>Test paragraph trisakti <a href="tilu">text tilu</a></p>
    menjadi dan ditambahkan tanda koma
    Code:
    <a href="satu.com">text hiji</a>, <a href="dua.com">text dua</a>, <a href="tilu.com">text tilu</a>
    tx b4
     
  2. xrvel

    xrvel Super Hero

    Joined:
    Oct 21, 2007
    Messages:
    2,873
    Likes Received:
    947
    Location:
    Di sini
    PHP:
    <?php
    header
    ('Content-type: text/plain');

    function 
    link_extract($text$glue ', ') {
        if (!
    preg_match_all("/<a(.*)href=\"(.*)\"(.*)?>(.*)?<\/a>/iU"$text$matches)) {
            return 
    false;
        }
        
    $links = array();
        
    $m count($matches[2]);
        for (
    $i=0;$i<$m;$i++) {
            
    $links[] = sprintf('<a href="%s">%s</a>'$matches[2][$i], $matches[4][$i]);
        }
        return 
    implode($glue$links);
    }

    $text '<p>Test paragraph bung one <a href="satu.com">text hiji</a></p>
    <p>Test paragraph roro kidul <a href="dua.com">text dua</a></p>
    <p>Test paragraph trisakti <a href="tilu">text tilu</a></p>'
    ;
    echo 
    link_extract($text);
    ?>
     
    wailah, darisx and ewwink like this.
  3. ewwink

    ewwink Super Hero

    Joined:
    Apr 27, 2006
    Messages:
    2,836
    Likes Received:
    1,100
    Location:
    Tasikmalaya, Sunda, Indonesia
    makasih banyak kang kodenya bisa =D>
     
  4. matping

    matping Hero

    Joined:
    Sep 18, 2009
    Messages:
    676
    Likes Received:
    9
    Xrvel memang jago nya kodè
     
  5. mrlemonade

    mrlemonade Hero

    Joined:
    Sep 20, 2007
    Messages:
    548
    Likes Received:
    55
    misalnya kita punya data html yg formatnya ga rapih seperti dibawah ini gimana dung?

    - ada spasi diantar href yg warna merah sebelum = nya
    - ada new line abis <a di href yg warna biru
    - kadang ada yg pake ' kadang2 ada yg pake "

    Code:
    alskdjfklasjfklsdf
    alskdjfklasjfklsdfalskdjfklasjfklsdfalskdjfklasjfklsdf
    asdfasdfasdfjasdklf<a
    [COLOR="blue"]href[/COLOR]=[COLOR="magenta"]'[/COLOR][B][COLOR="seagreen"]dodol.com[/COLOR][/B][COLOR="magenta"]'[/COLOR]>alskdjfklasjfklsdf</a>
    asdfjasdklfjas<a [COLOR="red"]href [/COLOR]="[B][COLOR="seagreen"]asdf.com[/COLOR][/B]" >aklsdjf</a>kldfjklasjdfklasjdfkljasdklfjasklfj askld fjsklf jaskldfj asf
    asdfjasdklfjaskldfjklasjdfklasjdfkljasdklfjasklfj askld fjsklf jaskldfj asf
    <p>Test paragraph bung one <a href="[B][COLOR="seagreen"]satu.com[/COLOR][/B]">text hiji</a></p>
    <p>Test paragraph roro kidul <a href="[B][COLOR="seagreen"]dua.com[/COLOR][/B]">text dua</a></p>
    asdfjasdklfjaskldfjklasjdfklasjdfkljasdklfjasklfj askld fjsklf jaskldfj asf
    as dfkjasdklf asdklfj sfj<p>Test paragraph trisakti <a href=[COLOR="magenta"]'[/COLOR][B][COLOR="seagreen"]tilu[/COLOR][/B][COLOR="magenta"]'[/COLOR]>text tilu</a></p>asdfasdf aslfj lasdjf
    
    ngga masalah bos!


    PHP:
    function ambil_link_ke_array($data) {
      
    preg_match_all('/<a.+?href(| )=(\'|")(.+?)(\'|").*?>/s'$data$yPREG_PATTERN_ORDER);
      return 
    count($y[3])?$y[3]:false;
    }


    hasil
    Code:
    Array
    (
        [0] => dodol.com
        [1] => asdf.com
        [2] => satu.com
        [3] => dua.com
        [4] => tilu
    )
    
     
    Last edited: Jan 12, 2011
    exzant and mawarkuning like this.
  6. xrvel

    xrvel Super Hero

    Joined:
    Oct 21, 2007
    Messages:
    2,873
    Likes Received:
    947
    Location:
    Di sini
    Mantap, penyempurnaan kode sebelumnya.. :semangat!:
     
  7. mrlemonade

    mrlemonade Hero

    Joined:
    Sep 20, 2007
    Messages:
    548
    Likes Received:
    55
    ^_^
     
  8. mrlemonade

    mrlemonade Hero

    Joined:
    Sep 20, 2007
    Messages:
    548
    Likes Received:
    55
    kalo ga mau pake regex, bisa pake dom + xpath :D

    PHP:
    function ambil_link_ke_array($string) {
      
    $doc = new DOMDocument();
      @
    $doc->loadHTML($string);
      
    $xpath = new DOMXpath($doc);

      
    $urls $xpath->query("//a/@href");

      foreach(
    $urls as $url) {
        
    $tmp[] = $url->nodeValue;
      }
      return 
    $tmp;
    }
    Code:
    Array
    (
        [0] => dodol.com
        [1] => asdf.com
        [2] => satu.com
        [3] => dua.com
        [4] => tilu
    )
    
     
    wailah likes this.
  9. gecko

    gecko Ads.id Pro

    Joined:
    Apr 23, 2010
    Messages:
    315
    Likes Received:
    164
    Location:
    http://gecko.web.id
    extract link enaknya pakai simple dom parser

    PHP:
      <?php
    require 'simple_html_dom.php';

    // Create DOM from URL or file
    $html file_get_html('http://gudanglagu.com/tanggalagu.php');

    // Find all images
    foreach($html->find('a') as $element) {
        
    $url $element->href ;
        echo 
    $url,'<br />';
      }
    ?>  


    Simple html dom parser dapat disedot di sini :
    HTML:
    http://simplehtmldom.sourceforge.net
    

    kalo tutorial mengenai ini bisa di mari
    HTML:
    http://gecko.web.id/belajar-php/data-mining-web-fetching-atau-mencuri-isi-web/
    


    ---------- Post added at 02:17 PM ---------- Previous post was at 02:14 PM ----------

    Itu cara yang paling mudah dan gak ribet versi ane.
    kalau ada yang lebih mudah tolong share di mari.

    :malaikat:
     
  10. glodakan

    glodakan Ads.id Fan

    Joined:
    Apr 30, 2010
    Messages:
    136
    Likes Received:
    7
    @atas : yahh scrapper sejati nih keknya :D
    ane tambahin link utek2nya :D

    Code:
    http://net.tutsplus.com/tutorials/php/html-parsing-and-screen-scraping-with-the-simple-html-dom-library/
     
    Last edited: Feb 4, 2011
  11. pinginsehat

    pinginsehat Banned

    Joined:
    Jul 27, 2010
    Messages:
    3,151
    Likes Received:
    279
    Location:
    Surabaya
    mantap kabeh!
     
  12. pekalongan

    pekalongan Super Hero

    Joined:
    Jan 26, 2010
    Messages:
    1,196
    Likes Received:
    51
    Location:
    Malang
    keren nich, master php pada keluar :D
     
  13. danangsetya

    danangsetya Newbie

    Joined:
    Jan 11, 2011
    Messages:
    23
    Likes Received:
    0
    keren nih gan,saya coba boleh gan ?
     
  14. alle3

    alle3 Ads.id Pro

    Joined:
    Feb 17, 2011
    Messages:
    333
    Likes Received:
    38
    Location:
    ep-be
    jiahh.. masa nyoba aja pake ijin bro.. niat amat ngejunk nye... :swt:
     
  15. hedidos

    hedidos Newbie

    Joined:
    Feb 16, 2011
    Messages:
    29
    Likes Received:
    0
    Location:
    Yogyakarta
    tengkyu para master...
    dalam satu thread bisa dapet ilmu sgini banyaknya...
     

Share This Page