Blogger Bloglarda '&' Sorunu ve Çözümleri

 Blogger veya benzeri XML tabanlı sistemlerde & (ampersand) karakterinin hata vermesinin temel sebebi, bu karakterin kod yapısında özel bir işlevi olmasıdır. XML standartlarına göre bu karakteri doğrudan kullanamazsınız; onun yerine "kaçış karakteri" (escape character) olan & formunu kullanmanız gerekir.

Bunu her seferinde manuel düzeltmek yerine, JavaScript kullanarak sayfa yüklendiğinde metin içindeki hatalı karakterleri otomatik olarak düzeltebilirsiniz.

1. Çözüm: JavaScript ile Otomatik Düzeltme

Aşağıdaki scripti temanızın </body> etiketinin hemen üzerine ekleyebilirsiniz. Bu kod, belirlediğiniz alanlardaki (örneğin yazı içeriği veya başlıklar) hatalı karakter gösterimlerini tarayıcı tarafında temizler.

<script type='text/javascript'> //<![CDATA[ document.addEventListener("DOMContentLoaded", function() { var postContent = document.querySelectorAll('.post-body, .entry-content'); postContent.forEach(function(el) { // HTML içeriğindeki hatalı & işaretlerini düzeltir el.innerHTML = el.innerHTML.replace(/&(?!(amp|lt|gt|quot|apos|#\d+);)/g, "&amp;"); }); }); //]]> </script>

2. Blogger Paneli İçin Kalıcı Çözüm

Eğer hatayı Tema Düzenle (Edit HTML) kısmında kod yazarken alıyorsanız, sistem kaydetmenize izin vermeyecektir. Bu durumda şu kurallara uymanız teknik bir zorunluluktur:

  • HTML İçinde: & yerine mutlaka &amp; yazmalısınız.

  • URL İçinde: Linklerdeki & işaretlerini de &amp; şeklinde değiştirmelisiniz.

    • Örnek: index.php?id=1&page=2 yerine index.php?id=1&amp;page=2

3. JavaScript/CSS Blokları İçin "CDATA" Kullanımı

Eğer bir script veya stil dosyası ekliyorsanız ve içindeki karakterler hata veriyorsa, kodu CDATA bloğu içine alarak XML motorunun o kısmı denetlemesini engelleyebilirsiniz:

<script type='text/javascript'>

//<![CDATA[

   // Buraya yazdığınız & işaretleri artık hata vermez

   var link = "site.com/auth?user=test&pass=123";

//]]>

</script>

Önemli İpucu: Yazılarınızı yazarken Blogger'ın "Oluştur" (Compose) modunu kullanıyorsanız, sistem bunu genellikle sizin yerinize halleder. Ancak "HTML Görünümü" modunda veya tema kodlarında çalışıyorsanız, yukarıdaki &amp; kuralı en sağlıklı yöntemdir. &, blogger, sorunu

Hiç yorum yok:

Yorum Gönder