Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

PHP Regular expression ve XML

Konu, 'PHP' kısmında Düzgün tarafından paylaşıldı.

  1. Düzgün

    Düzgün Üye

    Kayıt:
    29 Temmuz 2002
    Mesajlar:
    206
    Beğenilen Mesajlar:
    0
    <menu>
    <submenu1>ali</submenu1>
    <submenu2>veli</submenu2>
    <submenu3>ayşe</submenu3>
    </menu>

    php ile regexp fonksiyonları ile "<menu> ile </menu>" arasında kalanları nasıl elde edebilir? tek satırda olabilir mi bu?

    teşekkürler..
     
  2. Sahin

    Sahin Daimi Üye

    Kayıt:
    28 Mayıs 2002
    Mesajlar:
    8,943
    Beğenilen Mesajlar:
    0
    Ah be Yavuz yeni yazıyı yayınlamak üzereydim ki sen bu soruyu sordun. Ama yayını biraz erteleyeceğim, yeni sayfa düzenine geçiyoruz makalelerde Regexp konusuda sürpriz bir isimden geldi :p
     
  3. Düzgün

    Düzgün Üye

    Kayıt:
    29 Temmuz 2002
    Mesajlar:
    206
    Beğenilen Mesajlar:
    0
    makalenin çıkmasını sabırsızlıkla bekliyorum.

    bu arada buldum bunun nasıl olacağını
    <?php
    $content = implode("", file("http://www.ceviz.net/cnrss.xml"));
    preg_match("@<channel>(.+)</channel>@", $content, $r);
    print $r[1];
    ?>
    tek satır regexp ile tamam.
    kaynak( http://www.ewigeliga.de/use-info.php )
     
  4. mkarabulut

    mkarabulut Misafir

    Söz XML'ye gelmişken...

    PHP'nin XML parse etme fonksiyonlarına geçmek en güzel çözüm...

    Mesela expat veya DOM- DOM henüz düzgün çalışmıyor ama-

    Yakında Expat üzerine bi yazı yazacağım, faydalı olacağına inanıyorum...
     
  5. Düzgün

    Düzgün Üye

    Kayıt:
    29 Temmuz 2002
    Mesajlar:
    206
    Beğenilen Mesajlar:
    0
    Anladığım kadarıyla Expat fonksiyonları ile basit XML dokümanları işleniyor ve DTD dosyasıda kullanılmıyor.
    O halde onca fonksiyonla uğraşmak yerine regexp fonksiyonlarıyla verileri analiz etme daha güzel olabilir mi?
     
  6. mkarabulut

    mkarabulut Misafir

    Expat ile basit sadece basit dokumanların parse edileceği doğru değil...

    Hatta diyebilirimki büyük çaplı dokumanlar için Dom yerine Expat kullanmak daha avantajlı...

    DTD 'lerin parse işlemi sırasında 'ignore' edildiği doğru, sadece dokümanın well-formed olup olmadığı inceleniyor,valid olup olmamasına bakılmıyor.

    Karmaşık ve büyük dokümanlarda parse işlemini Regexp kullanarak yapmak ise daha zor olur bence...
    Mesela
    <etiket1>İçerik </etiket1>

    ile
    <etiket1>
    <![CDATA[
    <etiket1>İçerik2</etiket1>
    ]]>
    </etiket1>

    Ne kadar karışabiliyor di mi ?
     
  7. Düzgün

    Düzgün Üye

    Kayıt:
    29 Temmuz 2002
    Mesajlar:
    206
    Beğenilen Mesajlar:
    0
    Hımm evet haklısın.
    Expat yazın, çok faldalı olacak.
    xml dokumanlarını okumada kısmen Regexp ile uğraşmaya gerek yok :D
    iyi çalışmalar..