PHP ile metin üzerinden özel karakterleri soyun

4 Cevap php

Ancak ben, çünkü yem doldurulur ediliyor metinde bulunan özel karakterlerin onunla zorluklar yaşıyorum, rss akışlarını üreten bir php program yazdım. Kolayca (& sembolü gibi) bu özel karakterleri kaldırmak için bir yolu var mı yoksa aynı rss üretme işlevini yerine başka bir kütüphane var?

4 Cevap

Why not just sanitise the posts from the database before putting them in the feed? You can easily use php's inbuilt html_entities() function.

örneğin:

$post = 'This came from the database and contains nasty characters like &!';
$sanitised = htmlentities($post);

Şimdi $sanitised "Bu% 20came% 20from% 20the% 20database% 20ve% 20contains% 20nasty% 20characters% 20like% 20% 26!" Eşittir Herhangi bir rss okuyucu cezası görüntülemek istediğiniz.

Veri kodlama sırasında iyi bir uyumlu RSS oluşturmak veya Atom besleme muhtemelen iyi bir çözümdür bir kütüphaneyi kullanarak, gerçekten zor değildir (ve sonrasında tüm is what you've asked for).

Zend_Feed beslemesi içerir creation beslemek için ek olarak, reading.

Zend_Feed belgelerine Alındığı:

// importing a rss feed from an array
$feed = Zend_Feed::importArray($array, 'rss'); 

// dump the feed to standard output
print $feed->saveXML();

// send http headers and dump the feed
$feed->send();

Bilgisayarlardaki durumuna gelince, bazıları dahil dizinde Zend Framework olabilir. Ama eğer, bu sadece sizin hosting dizininde (sizin durumda, Zend_Feed dosyaları) bir yere ihtiyaç Zend Framework kütüphaneleri kopyalamak kolaydır.

http://php.net/manual/en/function.htmlentities.php

Bu XML için de geçerlidir (RSS beslemeleri XML olduğu) de.

Benim RSS oluşturmak için SimpleXMLElement kullanıyorum. Kullanımı çılgın basit:

$elementA->nestedElementB->elementC['AttributeD'] = $str_value

Ve tüm öncelemeli ve kodlama halledilir.