İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Aynı Verileri Silmek

OsmanAtabey

0
İyinet Üyesi
Katılım
26 Mart 2005
Mesajlar
922
Reaction score
4
Aşağıdaki örnekte sadece en son veri siliniyor. preg_match ile bulunan tüm verileri silmek için nasıl bir ekleme yapmam gerekiyor ?

PHP:
<?

$text = "test1 ab ss ac test2 ab bb ac test3";

preg_match_all("#ab(.*?)ac#si",$text,$cikti);

$say = count($cikti[0]);

echo $say . "\n";

for($x=0;$x<$say;$x++) {

$sil = $cikti[0][$x];

$a = Array($sil);
$a1 = Array("");
$a2 = str_replace($a,$a1,$text);

}

echo $a2;

?>
 

OsmanAtabey

0
İyinet Üyesi
Katılım
26 Mart 2005
Mesajlar
922
Reaction score
4
OnurSQL array_unique aynı olan veriler için geçerliymiş fakat benim preg_match ile aldığım verinin içeriği değişik. Bu şekilde de kullanılabilir mi ?

Aşağıdaki şekilde yapabiliyorum :) Biraz daha uğraşıp o dizileri döndüreyim.

PHP:
$text = "test1 ab ss ac test2 ab bb ac test3 ab yy ac test4";

preg_match_all("#ab(.*?)ac#si",$text,$cikti);


$say = count($cikti[0]);
echo $say . "\n";

for($x=0;$x<$say;$x++) {

$dizi = $cikti[0][0];
$dizi2 = $cikti[0][1];
$dizi3 = $cikti[0][2];

$a = array($dizi,$dizi2,$dizi3);
$a1 = array("");
$a2 = str_replace($a,$a1,$text);

}

echo $a2;
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
Mantik hatalari var kodda, zaten for ile donduruyorsun neden loop un her adiminda 0 1 2 islemini yapmaya kalkiyorsun. Dondurmenin amaci zaten adim adim gitmektir. Space e gor explode a edip array_unique alip, gene space e gore implode edersen istedigini 3 satirda yaparsin.
 

OsmanAtabey

0
İyinet Üyesi
Katılım
26 Mart 2005
Mesajlar
922
Reaction score
4
Aşağıdaki şekilde [0] => Array bölümünü tamamen yok edip sonucu test1 test2 test3 test4 şeklinde yazdırmam lazım. [0] => Array olan kısımın sayısı ve içeriği değişken explode veya array_unique 'yi nasıl kullanabilirim ?

PHP:
$text = "test1 ab ss ac test2 ab bb ac test3 ab yy ac test4";

preg_match_all("#ab(.*?)ac#si",$text,$cikti);

print_r ($cikti);


Array
(
    [0] => Array
        (
            [0] => ab ss ac
            [1] => ab bb ac
            [2] => ab yy ac
        )

    [1] => Array
        (
            [0] =>  ss
            [1] =>  bb
            [2] =>  yy
        )

)
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
o zaman preg_replace()
preg match + str_replace yerine o isini gorur.
 

Ozcan

0
İyinet Üyesi
Katılım
12 Mayıs 2007
Mesajlar
3,749
Reaction score
59
Konum
Antalya
valla indexof kodu yok sanırım bu php de onun için boşu boşuna bir sürü fonksiyon yazmışlar php için. Aradım ama bulamadım yoksa çok basit oluyor :)
 

Ozcan

0
İyinet Üyesi
Katılım
12 Mayıs 2007
Mesajlar
3,749
Reaction score
59
Konum
Antalya
Kod:
        string[] dizi1 = {"test1","ab","ss","ac","test2","ab","bb","ac","test3","ab","yy","ac","test4"};
        string[] dizi2 = {"ab", "ss", "ac" ,"bb" , "yy" };

        private void button1_Click(object sender, EventArgs e)
        {
            foreach (string deger in dizi1)
            {
                if (Array.IndexOf(dizi2, deger) == -1)
                {
                    listBox1.Items.Add(deger);
                }
            }
        }

dizi1 in içindekileri dizi2 de var mı diye arayıp kontrol edip listbox a ekliyor 3 satırda :) ama bu kodları php çevirirken bayağı zorlanıyorum.

@OsmanAtabey çözümü yazarsan bizde yararlanabiliriz.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst