• 21-08-2010, 20:31:32
    #1
    Bazı web sayfaların kaynak koduna tırnak yerine & #8230; & #8221; gibi karakterler oluyor. Bunlardan kurtulmak için ne yapmalıyız ?
  • 21-08-2010, 20:32:44
    #2
    Üyeliği durduruldu
    http://php.net/manual/en/function.stripslashes.php
  • 21-08-2010, 20:37:14
    #3
    dostum yazdıklarım çıkmamış. mesajı editledim. bir daha bakar mısın
  • 21-08-2010, 20:41:13
    #4
    Eğer kendi sitelerinin kaynak kodlarından bahsediyorsan içeriği eklerken htmlspeialchars() fonksiyonunu kullanmazsan olduğu gibi eklenir.
  • 21-08-2010, 20:48:26
    #5
    ErsaT adlı üyeden alıntı: mesajı görüntüle
    Eğer kendi sitelerinin kaynak kodlarından bahsediyorsan içeriği eklerken htmlspeialchars() fonksiyonunu kullanmazsan olduğu gibi eklenir.
    botla bir yerden yazı çekiyorum. echo dediğimde ekrana düzgün basıyor ancak sağ tıklayıp kaynak kodu göster dediğimde, o bahsi geçen, karakterler çıkıyor.
  • 21-08-2010, 21:03:31
    #6
    Veri çekildikten sonra kaydeden kod htmlspecialchars() fonksiyonu kullanıyor ya da veri kaynaktan bu şekilde çekiliyor. Fonksiyon kullanılıyorsa kaldırman yeterli, kaynak bu şekilde ise veriyi kaydederken şu şekilde düzenlemelisin;
    $veri = addslashes(html_entity_decode($veri, ENT_QUOTES));
    Okurken de stripslashes kullanacaksın tabii ki.
  • 21-08-2010, 21:15:21
    #7
    forumxtr adlı üyeden alıntı: mesajı görüntüle
    Veri çekildikten sonra kaydeden kod htmlspecialchars() fonksiyonu kullanıyor ya da veri kaynaktan bu şekilde çekiliyor. Fonksiyon kullanılıyorsa kaldırman yeterli, kaynak bu şekilde ise veriyi kaydederken şu şekilde düzenlemelisin;
    $veri = addslashes(html_entity_decode($veri, ENT_QUOTES));
    Okurken de stripslashes kullanacaksın tabii ki.
    bir bot yazıyorum ve veriyi file_get_html() fonksyonu ile çekiyorum.
  • 21-08-2010, 21:59:15
    #8
    Php'de standart olarak file_get_html() diye bir fonksiyon yoktur. Sanırım bir sınıf ya da kullanıcı tanımlı bir fonksiyon kullanıyorsun. Bu sınıfın ya da fonksiyonun kodlarını eklersen yardımcı olabiliriz.

    Yapacağın şey kabaca;
    1 - Veriyi çektiği sayfaya git ve kaynak koduna bak. Karakterler yine &355; gibi mi tanım lı? (evet-1.1, hayır-1.2)
    1.1 - Kodda veririn yazdırıldığı ya da döndürüldüğü (echo ya da return) yeri bul ve şunu ekle; html_entity_decode($burada_degiskenin_olacak, ENT_QUOTES)
    1.2 - htmlspecialchars ve htmlentities fonksiyonlarını temizle.

    Yine olmazsa karakter seti ile ilgili de bir problemin var demek.
  • 21-08-2010, 22:41:08
    #9
    $kaynak = htmlspecialchars_decode(file_get_html($url));
    Bu şekilde olabilir.