folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder Preg_Match İle İstenilen Kısmı Almak (Yardım)



Preg_Match İle İstenilen Kısmı Almak (Yardım)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Fotografci
    DarkSkull
    DarkSkull's avatar
    Kayıt Tarihi: 17/Aralık/2008
    Erkek

    Bir siteden veri çekeceğim ama td'leri tek satırda yapmamışlar bir türlü alamadım. Aynen yapıştırıyorum. <td>'den sonra alt satıra inip 4 tane de tab koymuş galiba.

                 </td><td>
                    burası lazım
                </td><td>
                    burası da lazım           
                </td><td>
                    bir de bu lazım
                </td><td>

     

    Tek satır olsa aşağıdaki şekilde alabiliyorum:

    preg_match("#<td>(.*)</td>#i",$satir,$matches)

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    risperdal
    risperdal's avatar
    Kayıt Tarihi: 13/Haziran/2006
    Erkek

    Kaynağı galiba tek seferde çekmiyorsun.

    Curl ile çekip bir değişkene at

     <?
    $desen="^ </td><td>
      (.*?)
      </td><td>
      (.*?)  
      </td><td>
      (.*?)
      </td><td>^i";

    $kaynak=" </td><td>
      burası lazım
      </td><td>
      burası da lazım  
      </td><td>
      bir de bu lazım
      </td><td>"; //burayı curl ile çektiğimizi varsayıyorum.
    preg_match($desen,$kaynak,$a);
    print_r($a);
    ?>


    Özgür iradeydi şeytanım.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NmC
    NmC's avatar
    Kayıt Tarihi: 23/Kasım/2008
    Erkek

    hoca ne uğraşıosun

    $x = explode("</td><td>",$degisken);

    sonra  $x[1],$x[2] vs den çek...


    There are 10 types of people in the world. Those who knows binary and those who dont...
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Fotografci
    DarkSkull
    DarkSkull's avatar
    Kayıt Tarihi: 17/Aralık/2008
    Erkek

    h4ckinger bunu yazdı:
    -----------------------------

    -----------------------------

    Kaynağı tek seferde çekiyorum ama curl ile değil. Sadece düzenli ifadeyi yazamadım. Senin yazdığın şekilde desen oluşturdum ama yine olmadı. Seninkinden alıyor benim yapıştırdığımdan almıyor. Tabloyu aynen kaynak ve desen değişkenlerine yapıştırdım. Desende de alacağım yerleri (.*?) yaptım ama almadı.

    http://nowarez.net/test.html   Buraya çekeceğim sayfayı bir kısmını keserek koydum. Buradan deneyebilirsiniz.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Fotografci
    DarkSkull
    DarkSkull's avatar
    Kayıt Tarihi: 17/Aralık/2008
    Erkek

    xz bunu yazdı:
    -----------------------------

    -----------------------------

    preg_match'in kullanımın biliyorum daha önce kullandım ama buradaki siteden çekecek düzenli ifadeyi oluşturamadım. Dediğin gibi </td><td> leri boşlukla değiştirip satır satır aldıktan sonra her satırın başındaki sonundaki boşlukları silerek belki olur ama öyle yaparsam 3-4 işlemden geçirmiş olacağım. Tek satırda kaynakta değişiklik yapmadan preg_match ile alacağım kısmı almak istiyorum.

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Fotografci
    DarkSkull
    DarkSkull's avatar
    Kayıt Tarihi: 17/Aralık/2008
    Erkek
    Bu arada kaynağı çekme ile ilgili de problem var şimdi farkettim. Php dosyasının çalışacağı sunucuda php 4.2 ya da ona yakın bir versiyon var ve curl falan yüklü olduğunu sanmıyorum. Ben kaynağı file ile çekiyordum o da satırları diziye atıyor. O yüzden düzenli ifadeyi oluştursam bile çalışmaz şu anda. Onun başka bir çaresine bakacağım zaten. Şimdilik kaynağın 10-15 satırını bir değişkene atarak deniyorum.
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Fotografci
    DarkSkull
    DarkSkull's avatar
    Kayıt Tarihi: 17/Aralık/2008
    Erkek

    ZoktriP bunu yazdı:
    -----------------------------

    hoca ne uğraşıosun

    $x = explode("",$degisken);

    sonra  $x[1],$x[2] vs den çek...


    -----------------------------

    Doğru ne uğraşıyorum ki :) Kaynağı fopen ile çekince bu şekilde oldu ama preg_match ile olması gereken düzenli ifadeyi hala oluşturamadım. Onla biraz daha uğraşacağım olmazsa bu şekilde yapacağım.

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    sirhot
    sirhot's avatar
    Kayıt Tarihi: 13/Haziran/2006
    Erkek

    h4ckinger yazdığının mantıgını çözemedim açıkcası =))

     kullanılması gereken şöyle bişe olmalı..

     $pattern="~<td>(.|\s)*? </td>~i";
    preg_match_all($pattern ,$veri,$result);


    #darkedition.com
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    hotboy
    hotboy's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    uygulaman gereken kod;

     Burdan

    (buraya yazınca bazı taglar filtreleniyor, o yüzden link verdim)

    Çalışan hali;

    Preg Match All

    Yazı kutusuna 

                  </td><td>
                    burası lazım
                </td><td>
                    burası da lazım           
                </td><td>
                    bir de bu lazım
                </td><td>

    kopyala, yolla, sonucu versin.

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Fotografci
    DarkSkull
    DarkSkull's avatar
    Kayıt Tarihi: 17/Aralık/2008
    Erkek

    hotboy bunu yazdı:
    -----------------------------
    -----------------------------

    Sağol çalışıyor gibi. explode ile de oldu ama siteye kontrol mü ne koydularsa firefox ile giriyorum sayfa normal ama fopen, curl ile falan sayfayı çekince firefoxda açılan şekilde gelmiyor. Sayfa eksik geliyor ve ortada bir kısımda object not found diyor. Onun yazdığı yer çekmek istediğim verilerin olduğu tablo olması lazım.

  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    risperdal
    risperdal's avatar
    Kayıt Tarihi: 13/Haziran/2006
    Erkek
    sirhot bunu yazdı:
    -----------------------------

    h4ckinger yazdığının mantıgını çözemedim açıkcası =))

     kullanılması gereken şöyle bişe olmalı..

    asdasdasd//table kodları bozuyor postu 


    -----------------------------

    sabah acelem vardı da : ( newline ve spaceler ile uğraşmak istemedim

    arkadaş sanırım sorunu çözdü

    Özgür iradeydi şeytanım.
Toplam Hit: 3040 Toplam Mesaj: 12