• 02-07-2009, 23:13:53
    #1
    Merhaba arkadaşlar;
    $kod='<div class="sinifim">
    icerik1
    <div class="sinif2">
    icerik2 </div>
    icerik3  
    </div>
    <div>icerik</div> <div>icerik</div> icerik ';
    preg_match('#<div class="sinifim">(.*?)<\/div>#si',$kod,$daciklama);
    print_r($daciklama);
    bu kod şu anda çıktı olarak bana
    icerik1 <div class="sinif2"> icerik2
    veriyor bense ilk ve son div tagları arasında kalan tüm karakterleri vermesini istiyorum yani şu şekilde
    icerik1 <div class="sinif2"> icerik2 </div> icerik3
    bunu fonksiyondaki deseni değiştirerek nasıl yapabilirim ? yardım edersiniz çok sevinirim şimdiden teşekkürler ...
  • 02-07-2009, 23:26:32
    #2
    Üyeliği durduruldu
    ? ni kaldır
  • 03-07-2009, 00:07:48
    #3
    pardon yazmayı unutmuşum kod değişkeninin öncesinde ve sonrasında <div> </div>'ler var ? işaretini kaldırınca sondaki </div>'i alıyor ben ikinci divde durmasını nasıl sağlayabilirim?
  • 03-07-2009, 00:20:16
    #4
    Üyeliği durduruldu
    şu konuyu incele biraz. oraya bir fonksiyon yazdım.mantığı kavramada yardımcı olur. gerisini kendine göre düzenlersin.

    https://www.r10.net/php/351689-preg_m...ce-divler.html
  • 03-07-2009, 11:37:01
    #5
    link için teşekkürler işime yarıyacak gibi duruyor aklıma takılan bir soru daha var sadece deseni değiştirerek 2. divde yada 3. divde durmasını nasıl söylerim?
  • 03-07-2009, 11:54:50
    #6
    THR
    Üyeliği durduruldu
    print_r($aciklama[1]);

    şeklinde dener misin bi
  • 03-07-2009, 12:13:23
    #7
    THR adlı üyeden alıntı: mesajı görüntüle
    print_r($aciklama[1]);
    şeklinde dener misin bi
    ondan bahsetmiyorum yanlış anladın galiba?
  • 03-07-2009, 12:47:39
    #8
    Üyeliği durduruldu
    KaraSancak adlı üyeden alıntı: mesajı görüntüle
    link için teşekkürler işime yarıyacak gibi duruyor aklıma takılan bir soru daha var sadece deseni değiştirerek 2. divde yada 3. divde durmasını nasıl söylerim?
    öyle birşey yok. ya ilk ya son taga kadar olan kısmı alır. 2. veya 3. divin hemen ardından belirleyici bir kod varsa regex i ona göre yeniden yazarsın. aksi takdirde verdiğim fonksiyon gibi birşey kullanmalısın.
  • 03-07-2009, 13:17:52
    #9
    İlk soruna cevaben

    $kod='<div class="sinifim">
    icerik1
    <div class="sinif2">
    icerik2 </div>
    icerik3  
    </div>
    <div>icerik</div> <div>icerik</div> icerik ';
    preg_match('#<div class="sinifim">(.*?)<\/div>\r\n<d#si',$kod,$daciklama); 
    highlight_string($daciklama[1]);
    sorularında çok kararsızsın, ard arda farklı farklı sorular sormuşsun, tam olarak ne yapmak istediğini yazamısın..