• 08-08-2009, 18:27:59
    #1
    arkadaşlar gelen veri içerisinden <li> ve </li> tagları arasındaki herşeyi <li> </li> taglarıda dahil olmak üzere silmek istiyorum nasıl bir işlem gerekli aşaıdaki şekilde denedim ama olmadı...

    $veri = preg_replace("/\<i\>(.*)\<\/i\>/U", "", veri);
  • 08-08-2009, 18:43:52
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Blade__ adlı üyeden alıntı: mesajı görüntüle
    arkadaşlar gelen veri içerisinden <li> ve </li> tagları arasındaki herşeyi <li> </li> taglarıda dahil olmak üzere silmek istiyorum nasıl bir işlem gerekli aşaıdaki şekilde denedim ama olmadı...
    $veri = preg_replace("/\<i\>(.*)\<\/i\>/U", "", veri);
    function bolveal($veri, $ayrac1, $ayrac2){
    $parcala = explode($ayrac1, $veri); // önce li'ye göre böl.
    $parca1 = $parcala[0]; // li'den önceki bölüm
    $parca2 = $parcala[1]; // liden sonraki bölüm
    $parcala2 = explode($ayrac2, $parca2);
    // $parca3 = $parcala2[0]; // li tag'ları arasındaki bölüm
    $parca4 = $parcala2[1]; // li kapanışından sonraki bölüm

    return $veri = $parca1." ".$parca4;
    }

    echo bolveal($veri, "<li>", "</li>");
  • 08-08-2009, 19:54:30
    #3
    gentleRain adlı üyeden alıntı: mesajı görüntüle
    function bolveal($veri, $ayrac1, $ayrac2){
    $parcala = explode($ayrac1, $veri); // önce li'ye göre böl.
    $parca1 = $parcala[0]; // li'den önceki bölüm
    $parca2 = $parcala[1]; // liden sonraki bölüm
    $parcala2 = explode($ayrac2, $parca2);
    // $parca3 = $parcala2[0]; // li tag'ları arasındaki bölüm
    $parca4 = $parcala2[1]; // li kapanışından sonraki bölüm
    return $veri = $parca1." ".$parca4;
    }
    echo bolveal($veri, "<li>", "</li>");
    bu verilen foksiyon sadece ilk <li></li> yi etkiler sonrakilere etkisi olmaz
  • 08-08-2009, 20:09:00
    #4
    cenqawer adlı üyeden alıntı: mesajı görüntüle
    bu verilen foksiyon sadece ilk <li></li> yi etkiler sonrakilere etkisi olmaz
    Haklısınız, ben kodda tek <li ile çalışıyor gibi düşünmüşüm.
    Şöyle geliştirebilir, <li ye göre böldüğünde tüm parçaları foreach( içinde döndürür, buradan üretir ve döndürür. Bu çalışır.

    function bolveal($veri, $ayrac1, $ayrac2){
    $parcala = explode($ayrac1, $veri); // önce li'ye göre böl.

    $veri = $parcala[0]; // önce ilk bölümü ekleyelim.

    foreach($parcala AS $key=>$parca){ // tüm parçaları döndürelim.
    $parcala2 = explode($ayrac2, $parca);
    $veri .= $parcala2[1]; // li bittikten sonraki bölümü ekleyelim.
    }

    return $veri;

    }

    bu oldu sanırım.
  • 08-08-2009, 21:01:00
    #5
    Yahu neredeyse sınıf yazacaksınız silmek için

    $veri = '  sdfasaf sa fsa fsd fsad fsd fdsa fsdfsadf <li>silinecek kısım</li> sdfsa daf sd <a href="http://www.google.com">Test Link </a> fsa fsad fsd f';
    
    $bul[0] = '#<li>(.*?)</li>#';
    $bul[1] = '#<a href=(.*?)</a>#';
    
    $degistir[0] = '';
    $degistir[1] = '';
    
    echo preg_replace($bul, $degistir, $veri);
  • 08-08-2009, 21:24:37
    #6
    Üyeliği durduruldu
    $veri = preg_replace("/<li>(.*)<\/li>/U", "", veri);
    bunu dene bi.
  • 09-08-2009, 13:18:05
    #7
    MC_delta_T adlı üyeden alıntı: mesajı görüntüle
    $veri = preg_replace("/<li>(.*)<\/li>/U", "", veri);
    bunu dene bi.

    Arkadaşlar hepinize çok teşekkürler MC_delta_T arkadaşın verdiğini denedim sorun çözüldü...