RSS ile HTML doğrulamak nasıl?

3 Cevap php

Ben HTML / CSS / PHP gelişimi hızlandırmak için almak için çalışıyorum ve ben bir RSS beslemesi gibi kontrol edemez içerik içeren zaman benim kodu doğrulamak nasıl merak ediyorum?

Örneğin, benim ana sayfa HTML ve PHP kodu içeren bir. Php doc olduğunu. Başka bir blog bazı beslemeleri kapmak ve benim Web sayfasında görüntülemek için (SimpleXML kullanarak) basit bir RSS okuyucu oluşturmak için PHP kullanabilirsiniz.

Şimdi, mümkün olduğunca, ben geçerli HTML yazmak için denemek istiyorum. Yani (Ben NetBeans kullanıyorum, o yüzden "Önizleme" sayfasını tıklayın) bunu yapmak için yolu tarayıcıda sayfayı görüntülemek için sayıyorum, (Kaynağı Görüntüle kullanarak) kaynak kopyalayın ve W3C validator o sopa. Bunu yaparken, ben RSS beslemesi gelen ("genel varlık için sistem belirteci üretilemiyor" ve "genel varlık" blogId "varsayılan varlık tanımlı değil" gibi) doğrulama hataları her türlü olsun.

Bunun için doğru süreci takip muyum? Ben sadece RSS beslemesi bayraklı tüm hataları görmezden gerekir?

Teşekkürler.

3 Cevap

Eğer kontrolsüz yem güvenilmeyen ile ilgileniyor nerede bu durumda, güvenli olduğu için seçenekler sınırlıdır.

Akla gelen iki şunlardır:

  1. gibi bir şey kullanmak striptags() RSS içeriği dışında biçimlendirme tüm çekmek için.
  2. HTMLPurifier doğrulamak ve çıktısını almadan içeriği sterilize gibi bir kitaplığı kullanın.

Performansı için, Bilginize, çıkış hazır içeriği önbelleğe gerekir.

-

Regarding Caching

Bunu yapmanın birçok yolu size bir çerçeve kullanıyorsanız, büyük ihtimalle zaten bunu yapmak için bir yol vardır vardır ... vardır. Zend_Cache örneğin Zend çerçevesi tarafından sağlanan bir sınıftır.

Eğer memcached erişiminiz varsa, o süper kolaydır. Eğer yoksa Ama sonra diğer yollarla bir yeri vardır.

Genel kavram çıktı hazırlamak ve daha sonra birçok kez outputted hazır, onu saklamaktır. Bu şekilde, sadece her zaman aynı olacak eğer getiriliyor ve çıkış hazırlama yükü ödemeniz gerekmez.

Yalnızca Tüm diğer isteklerin hızlı bir readfile() komuta ... alıp RSS feed her 5 dakikada bir olacak biçimi Bu kodu, düşünün.

# When called, will prepare the cache
function GenCache1()
{
    //Get RSS feed
    //Parse it
    //Purify it
    //Format your output
    file_put_contents('/tmp/cache1', $output);
}

# Check to see if the file is available
if(! file_exists('/tmp/cache1'))
{
    GenCache1();
}
else
{
    # If the file is older than 5 minues (300 seconds), then regen
    $a = stat('/tmp/cache1');
    if($a['mtime'] + 300 < time())
       GenCache1();
}


# Now, simply use this code to output
readfile('/tmp/cache1');

Ben genelde HTML Tidy sistemi dışında gelen verileri temizlemek için kullanın.

RSS hep XML uyumlu olmalıdır. Bu yüzden web siteniz için XHTML kullanmanızı öneririz. XHTML, XML uyumlu olduğundan RSS bir XHTML sayfası doğrularken zaman herhangi bir hata olmamalıdır.

EDIT: Of course, this only counts if the content your getting is actually valid XML...