• 07-02-2008, 00:44:52
    #1
    $link2'de standart link yapmaya çalışıyorum ama olmuyor. Boş bir sayfada aynı array 'lar ile replace yapıyorum bu sayfada olmuyor.

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <?php 
    function arasi($a,$b,$data)
    {
    $x = explode($a,$data);
    $z = explode($b,$x[1]);
    $oh = $z[0];
    if($x && $z) { return $oh; } else { return false; }
    }
    
    $search = array('Ç','ç',Chr(286),Chr(287),'i',Chr(304),'Ö','ö',Chr(350),'Chr(351)','Ü','ü',' ');
    $replace = array('C','c','G','g','i','I','O','o','S','s','U','u','-');
    
    
    $ara   = array ('ı','Å?','ü','ç','ö','Ä?','ÅŸ','Ç','İ','ÄŸ','Åz','Ö','Ü','ı','Å?','ç','ö','Ä?','ÅŸ','Ç','İ','ÄŸ','Åz','Ö','Ü','ü','ÄŸ'); 
    $degis = array ('ı','ş','ü','ç','ö','ğ','ş','Ç','i','ğ','Ş','Ö','Ü','ı', 'ş', 'ç', 'ö', 'ğ', 'ş', 'Ç', 'i', 'ğ', 'Ş', 'Ö', 'Ü', 'ü', 'ğ'); 
    $tag=$_GET['tag'];
    $tag = str_replace($ara,$degis,$tag);
    
    $kaynak = file_get_contents("http://www.youtube.com/rss/tag/".$tag.".rss");
    $bol = explode("<item>",$kaynak);
    $say=count($bol);
    
    for ($i=1;$i<$say;$i++){ 
    $ad=arasi("<title>","</title>",$bol[$i]);
    $link=arasi("<link>","</link>",$bol[$i]);
    $kod = str_replace("http://youtube.com/?v=", "", $link);
    $desc=arasi("<p>","</p>",$bol[$i]);
    $link2 = str_replace($search,$replace,$ad);
    
    echo $ad."<br>".$link."<br>".$desc."<br>".$link2."<br><br>";
    
    }       
    ?>
  • 07-02-2008, 00:59:15
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Şu an sadece bu kodlarla çalışıyor, sorun nedir tam olarak, açıkca belirtirseniz yardımcı olmaya çalışırım...
  • 07-02-2008, 04:25:55
    #3
    $search ve $replace yi for dan sonra koy veya fonksiyon haline çevir.
  • 07-02-2008, 13:14:19
    #4
    @NOKProduction;
    $link2 değişkeninde Türkçe karakterler replace edilmiyor.

    @WebLOADER;
    Denedim fakat sonuç aynı.
  • 07-02-2008, 14:39:42
    #5
    Verileri mysql'den çekiyorsan böyle bi sorunsal zaten çok meşhur.
    Bende zamanında baya uğraşmıştım bu sorun ile, verileri veritabanına girmeden düzelterek çözebilmiştim. yani verileri girmeden önce "ç" leri "-c2-" şeklinde replace yapıyorsun, verileri tekrar çekerken de tam tersini uygula. Tabi bu sadece çözüm mantıklarından biri, daha basit bi çözümü olmalı...
  • 07-02-2008, 15:05:06
    #6
    $link2 = str_replace($search,$replace,$ad[1]);

    olacak...
  • 07-02-2008, 18:14:37
    #7
    @d3x;
    Bende daha önceleri yaşamıştım veritabanından çekerken ama karakter setleriyle falan oynayınca düzelmişti, şimdi gelen veriyi istediğim hale çeviremediğim için kayıt işinide yapmıyorum. Ama kayıt yapıncada göründüğü gibi kayıt oluyor zaten.

    @Evocel;
    Hocam sen karıştırdın galiba, o fonksiyon direk arasını alıyor zaten.
  • 07-02-2008, 18:26:44
    #8
    şimdi olay şu,
    dosyanın encoding tipi

    ANSI with(out olabilir) BOM utf8mi,

    direk utf8mi,

    hangisi ise diğerine çevirip dene, tabiki karakterler saçmalayacaktır onları düzeltmeyi unutma
  • 07-02-2008, 19:14:33
    #9
    Evrekaa
    Linki elde etmek için aşağıdaki kodu kullandım. Yardımcı olan herkese teşekkürler.
    $ara3   = array ('Ğ','Ü','Ş','İ','Ö','�','ğ','ü','ş','ı','ö','ç',' - ',' ',Chr(39));
    $degis3 = array ('G','U','S','I','O','C','g','u','s','i','o','c','-','-','-');
    $link = str_replace($ara3,$degis3,$ad);