• 02-01-2010, 20:26:33
    #1
    merhaba arkadaşlar

    elimde şöyle bir veri var:

    yazı yazı yazı ...
    <p>yazı yazı yazı yazı ...</p>
    <p>yazı yazı yazı yazı ...</p>

    ben ilk </p> den sonra <!--more--> eklemek istiyorum yani

    yazı yazı yazı ...
    <p>yazı yazı yazı yazı ...</p>
    <!--more-->
    <p>yazı yazı yazı yazı ...</p>

    verisini elde etmek istiyorum bunu nasıl yaparım?

    şimdiden teşekkürler
  • 02-01-2010, 21:17:06
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Deneyemedim. Ama sanırım çalışır...
    $yazi = 'yazı yazı yazı ...
    <p>yazı yazı yazı yazı ...</p>
    <p>yazı yazı yazı yazı ...</p>';
    
    $degis = '</p>';
    $neyle = '<p>
    <!--more-->';
    
    echo preg_replace($degis, $neyle, $yazi);
  • 02-01-2010, 21:32:44
    #3
    by_grafitus adlı üyeden alıntı: mesajı görüntüle
    Deneyemedim. Ama sanırım çalışır...
    $yazi = 'yazı yazı yazı ...
    <p>yazı yazı yazı yazı ...</p>
    <p>yazı yazı yazı yazı ...</p>';
    
    $degis = '</p>';
    $neyle = '<p>
    <!--more-->';
    
    echo preg_replace($degis, $neyle, $yazi);
    hatalı kod, tümünde değişim yapar bu
  • 02-01-2010, 21:57:36
    #4
    Misafir adlı üyeden alıntı: mesajı görüntüle
    $i = 'yazı yazı yazı ...
    <p>yazı yazı yazı yazı ...</p>
    <p>yazı yazı yazı yazı ...</p>';
    $i= explode("</p>", $i);
    $i= $i[1]."<eklenecek>".$i[2];
    echo $i;
    şeklinde olması gerek.
    arraylarda 1. eleman [0] numaralı olur
  • 02-01-2010, 22:04:56
    #5
    o zaman çalışan kodumuz:

    $i = 'yazı yazı yazı ...
    <p>yazı yazı yazı yazı ...</p>
    <p>yazı yazı yazı yazı ...</p>';
    $i= explode("</p>", $i);
    $i= $i[0]."<eklenecek>".$i[1];
    echo $i;
  • 02-01-2010, 23:21:41
    #6
    arkadaşlar şimdi de şöyle bir sorun oldu: veriyi </p> ile böldüğümüz için 2. </p> ye kadar olan veriyi alıyor, kalan veri kayboluyor?
  • 02-01-2010, 23:45:13
    #7
    by_antiseptic adlı üyeden alıntı: mesajı görüntüle
    arkadaşlar şimdi de şöyle bir sorun oldu: veriyi </p> ile böldüğümüz için 2. </p> ye kadar olan veriyi alıyor, kalan veri kayboluyor?
    </p> ile bölündüğü için değilde ekrana yazdırılırken
    $i= $i[0]."<eklenecek>".$i[1];
    sadece 0 ve 1. elemanlar birleştiriliyor onun için
    eğer doğru anladıysam..
    <?php
    $i = 'yazı yazı yazı ...
    <p>yazı yazı yazı yazı a...</p>
    <p>yazı yazı yazı yazı b...</p>
    <p>yazı yazı yazı yazı c...</p>
    <p>yazı yazı yazı yazı d...</p>
    <p>yazı yazı yazı yazı e...</p>
    <p>yazı yazı yazı yazı f...</p>
    <p>yazı yazı yazı yazı g...</p>';
    
    $i= explode("</p>", $i);
    $toplam=count($i);
    for($a=1;$a<=$toplam;$a++)
    $yazi=$yazi.$i[$a];
    
    $sonuc= $i[0]."ıvır zıvır".$yazi;
    echo $sonuc;  ?>
    şeklinde olması lazım çıktısı
    yazı yazı yazı ...
    
    yazı yazı yazı yazı a...ıvır zıvır
    
    yazı yazı yazı yazı b...
    
    yazı yazı yazı yazı c...
    
    yazı yazı yazı yazı d...
    
    yazı yazı yazı yazı e...
    
    yazı yazı yazı yazı f...
    
    yazı yazı yazı yazı g...
    şeklinde olur
  • 02-01-2010, 23:49:47
    #8
    More eklenecek'te bu kodları karekter sayısına göre yapmak daha iyi olur kanımca. Diyelim 200 Karekterden sonra more tagı gelse daha düzenli olur
  • 03-01-2010, 00:08:55
    #9
    Üyeliği durduruldu
    SABQCES adlı üyeden alıntı: mesajı görüntüle
    More eklenecek'te bu kodları karekter sayısına göre yapmak daha iyi olur kanımca. Diyelim 200 Karekterden sonra more tagı gelse daha düzenli olur
    substr() ile 200. karakterde kes arkasına DEVAMI linki at tamam o kolay