• 28-02-2008, 20:24:58
    #10
    Üyeliği durduruldu
    $desen = "#<div id="(.*?)">#si";

    desen, parantez içini temizlemek için nasıl değişmeli?
  • 28-02-2008, 20:35:25
    #11
    obidergi adlı üyeden alıntı: mesajı görüntüle
    Dr.iq örneğiniz çok ayrıntılı olmuş teşekkürler.
    echo $cikti[1][0].'<br />';
    [1][0] sanırım iki boyutlu matris (array, dizi) oluyordu sanırım değil mi?
    bu satırı biraz açarsanız, çok makbule geçer.
    evet burda aslında preg_match yeterli olacaktı siz hata alıyorum deyince ben preg_match_all kullandım eğer preg_match kullanmış olsaydık $cikti[1][0] yerine $cikti[1] kullanmış olacaktık

    print_r($cikti); olarak çıktı alın farkı göreceksiniz.
  • 28-02-2008, 20:40:21
    #12
    Alıntı
    <?php
    $veriniz = "<div id=\"veri7349322980\"> (değer) </div> <div id=\"veri7349322943\"> (değer) </div> <div id=\"veri73493223423\"> (değer) </div> <div id=\"veri7349322988904\"> (değer) </div>";
    $desen = "#<div id=\"(.*?)\">#si";
    preg_match($desen,$veriniz,$dizi);
    $dizi = $dizi[1]; //sadece düzenli ifadeyi aldık.
    $dizi = str_replace("veri7349322980","yeni değer",$dizi);
    echo $dizi;
    ?>
    Böle temizle. değiştir.
    $dizi = str_replace("aranan değer","yeni değer",$dizi);
  • 28-02-2008, 20:52:48
    #13
    Üyeliği durduruldu
    evet anladım olayı.



    <?php
    $deger[] = '<div id="veri7349322980">Değer1</div>';
    $deger[] = '<div id="veri7349322983">Değer2</div>';
    $deger[] = '<div id="veri734f9322940">Değer3</div>';
    $deger[] = '<div id="veri734sdgfD322980">Değer4</div><div id="veri734f9322940">Değer3</div>';

    for($i=0; $i<count($deger); $i++)
    {
    preg_match('#<div id="[a-zA-Z0-9\_]*">(.*?)</div>#si',$deger[$i],$cikti);
    echo $cikti[1].'<br />';

    }
    ?>

    burada siz 4 tane div i ayrı ayrı yazarak count ile saydırdınız, peki ben $deger[] = '<div id="veri734sdgfD322980">Değer4</div><div id="veri734f9322940">Değer3</div>'; gibi kullansam; yaptığı m değişikliği nasıl saydırabilirim?
  • 29-02-2008, 05:58:23
    #14
    obidergi adlı üyeden alıntı: mesajı görüntüle
    evet anladım olayı.



    <?php
    $deger[] = '<div id="veri7349322980">Değer1</div>';
    $deger[] = '<div id="veri7349322983">Değer2</div>';
    $deger[] = '<div id="veri734f9322940">Değer3</div>';
    $deger[] = '<div id="veri734sdgfD322980">Değer4</div><div id="veri734f9322940">Değer3</div>';

    for($i=0; $i<count($deger); $i++)
    {
    preg_match('#<div id="[a-zA-Z0-9\_]*">(.*?)</div>#si',$deger[$i],$cikti);
    echo $cikti[1].'<br />';

    }
    ?>

    burada siz 4 tane div i ayrı ayrı yazarak count ile saydırdınız, peki ben $deger[] = '<div id="veri734sdgfD322980">Değer4</div><div id="veri734f9322940">Değer3</div>'; gibi kullansam; yaptığı m değişikliği nasıl saydırabilirim?
    $deger = '<div id="veri734sdgfD322980">Değer4</div><div id="veri734f9322940">Değer3</div>';
    preg_match('#<div id="[a-zA-Z0-9\_]*">(.*?)</div><div id="[a-zA-Z0-9\_]*">(.*?)</div>#',$deger,$cikti);
    echo $cikti[1].' '.$cikti[2];
    böyle alırdım verdiğinizide yani bir şekilde alınır veya kodları ilk önce html'den arındırım sonra kalandan çıkartırırım vs.. vs..
  • 29-02-2008, 12:40:23
    #15
    bazı durumlarda explode daha çalışkan oluyor sıkıştığınız yerde tavsiye ederim
  • 29-02-2008, 17:14:51
    #16
    Üyeliği durduruldu
    Dr.iq çok teşekkürler.

    evet explode yi dün kodlarda kullandım zaten yalnız ben bir yerde hata yaptım sanırım.
    şöyle örnekleyelim:

    veri bloğu <div> Asıl lazım veri </b></div>
    diyelim mesela; explode ile div e göre parçalayıp $veri[1] diyerek Asıl lazım veri </b></div> kısmını çekiyorum, sonra da bunu $verim diye tanımlayıp tekrar b ye göre explode yapmak istediğimde bir hata veriyor. normalde $verim[0]diyerek asıl lazım veri yazısının gelmesi lazım.
    Sonra dün üzerinde çok da duramadım, ne hatası verdiğini hatırlamıyorum ama syntax olmadığına eminim.
  • 29-02-2008, 17:18:41
    #17
    PHP: strip_tags - Manual
  • 29-02-2008, 17:24:30
    #18
    Üyeliği durduruldu
    strip_tags ı biliyorum ama benim amacım tüm html karakterlerini temizlemek değil.
    belirli parametrelere göre ( html tagı olur, parantez olur vs vs vs...) verinin belirli bölümünü almak.