• 10-08-2008, 19:10:51
    #1
    for ($i=1;$i<=count($bol)-1;$i++) {

    preg_match("dede(.*?)dede'si",$bol[$i], $adi);

    bu döngüde verileri sıralarken yapmak istediğim 1 çeşit filtre mesela

    $yasaklistesi="orno,korno,zorno,deve";

    $adi= yasak kelime listesinden bir kelimeyse

    dögüdeki o sonucu göstermeyecek diğerlerini listelemeye devam edecek

    bunu nasıl yapabilirim yardım edebilecek olan varmıdır?
  • 10-08-2008, 20:08:45
    #2
    Üyeliği durduruldu
    if($bol[$i]=='p.rno' || $bol[$i]=='s.x') { }

    değerleri değiştir ben nokta koydum for() içine koy bu ifi
  • 10-08-2008, 23:56:57
    #3
    Üyeliği durduruldu
    ya da

    $yasaklistesi="orno,korno,zorno,deve";

    $adi= 'orno yasak kelime listesinden bir kelimeyse';

    $p = explode(',',$yasaklistesi);
    foreach($p as $value){
    $adi=preg_replace("'\b$value\b'","",$adi);
    }

    + fonksiyon oluştur heryerde kullanırsın.
  • 11-08-2008, 09:20:55
    #4
    bilgiliweb adlı üyeden alıntı: mesajı görüntüle
    if($bol[$i]=='p.rno' || $bol[$i]=='s.x') { }
    değerleri değiştir ben nokta koydum for() içine koy bu ifi

    Bu Şeklide yapamıyorum cunku $bol[$i] ide ki değişken uzun bir veri

    $bol[$i] değişkenin içerisinden $adi değerimi belirliyorum ve bu değişken de

    $adi[1]=".orno izlemek iyidir" gibi bir değişken olsun

    şimdi burdakı cumleyı kelımelere bolup yasak lıstesıylen karşılaştırmam gerekiyor bunun içinde


    $kara_liste = array('.orno', '.ezbian', '.pne', '.rospu');
    
    foreach ($kara_liste as $kelime) {
        if(eregi($kelime, $adi[1])) {
            echo ""; // yasak kelime geçiyorsa sırayı atladık
        }
    else {
    echo" buraya yasak olmayanlar listelebilir";
    }

    kullanıyorum ama bu sefer gene olmuyor

    kodlama bastan ıtıbaren su sekılde
    echo "<table cellpadding='0' cellpadding='0'><tr>";
    $data="burda çektiğim veriler var";
    		$bol = explode('<item>',$data);
    		for ($i=1;$i<=count($bol)-1;$i++) {
    
    		preg_match("'<title>(.*?)</title>'si",$bol[$i], $adi);   // bizi ilgilendiren değer
    
    		preg_match("'<soy>(.*?)</soy>'si",$bol[$i], $soyadi);
    		preg_match("'<baba>(.*?)</baba>'si",$bol[$i], $babaadi);
    		preg_match("'<dede>(.*?)</dede>'si",$bol[$i], $dedeadi);
    $kara_liste = array('.orno', 'asd', 'qwe', 'jkl');
    
    foreach ($kara_liste as $kelime) {
        if(eregi($kelime, $adi[1])) {
            echo ""; // yasak kelime geçiyorsa sırayı atladık
        }
    else {
    echo" buraya yasak olmayanlar listelebilir";
    }
    
    //birde bunları td ye alıyorum
    $listele++;
        if($listele ==5){
        echo "</tr><tr>";
        $listele=0;
        } 
    // td tr bitti
    
     }}
    echo "</table>";

    // sorun yasak kelime geçiyorsa o dongude lıstelenen veri gozukmesın ve lısteleme devam etsın onun dışında...

    /benim kodlamamda

    Şimdi bu dönkü kontrolü yapıyor ama her kelime için ayrı ayrı yapıor yani arrayda 4 değer varsa aynı terimi 4 kez yazdıyor sayfaya ve
    1 .defada arrayın ilk kelimesinin geçtigi döngüdeki veriyi yasaklıyor
    2. defada 2. arrayı kelimesinin geçtigi döngüdeki veriyi yasaklıyor
    3. defada 3. arrayı kelimesinin geçtigi döngüdeki veriyi yasaklıyor
    4. defada 4. arrayı kelimesinin geçtigi döngüdeki veriyi yasaklıyor

    tabi buı sırada aynı verileri 4 kez basmış oluyor nasıl çıkabilirim bu işin içinde??
  • 11-08-2008, 10:01:05
    #5
    Üyeliği durduruldu
    Alıntı
    function temizle($deger) {
    $kotu=array("p.rno","s.x");
    $deger=str_replace($kotu,"**",$deger);
    return $deger;
    }
    şu fonksiyonu kullanmayı dene
    forun içinde kullanırken

    temizle($bol[$i]);
    şeklinde kullan
  • 11-08-2008, 10:10:02
    #6
    sorun str_replace ile kelime değişmek değil o kolay zaten sorun döngüdeki o kısmı göstermemek genede teşekürler bilgiliweb
  • 11-08-2008, 10:29:50
    #7
    Üyeliği durduruldu
    GuMgUmOk adlı üyeden alıntı: mesajı görüntüle
    sorun str_replace ile kelime değişmek değil o kolay zaten sorun döngüdeki o kısmı göstermemek genede teşekürler bilgiliweb
    str_replace ** kısmı boş yap göstermez kodlarını buraya koyarsan daha iyi yardımcı oluruz
  • 11-08-2008, 10:36:21
    #8
    kodlar 3. mesajda var zaten

    https://www.r10.net/php/213080-iceris...ml#post2299134

    anlamamışınız galiba amaç $adi[1] değerini boş göstermemek değil

    $adi[1] de uygunsuz kelime geçerse

    $bol[1] i gostermemek
  • 11-08-2008, 11:34:26
    #9
    Üyeliği durduruldu
    GuMgUmOk adlı üyeden alıntı: mesajı görüntüle
    kodlar 3. mesajda var zaten
    https://www.r10.net/php/213080-iceris...ml#post2299134
    anlamamışınız galiba amaç $adi[1] değerini boş göstermemek değil
    $adi[1] de uygunsuz kelime geçerse
    $bol[1] i gostermemek

    ozaman

    if($adi[$i]=='p.rno' or $adi[$i]=='s.x') { echo $bol[$i]; }

    anladığım kadarıyla bunu demek istiyorsun