Извините, если об этом уже спрашивали - есть вопрос с похожим названием, но это не совсем то, что я ищу.
Что я делаю, так это извлекаю результаты из БД и распечатываю их внутри соответствующих тегов для создания RSS-канала.
Единственная проблема в том, что тело статьи содержит HTML-теги, поэтому мой RSS-канал загружается неправильно.
Пока я пробовал:
$rssfeed .= '<description>' . htmlentities($row['text') . '</description>';
и
$rssfeed .= '<description>' . htmlspecialchars($row['text'], ENT_COMPAT, 'UTF-8') . '</description>';
Использование любого из них просто дает мне совершенно чистый канал.
На самом деле я только что попробовал это и получил тот же результат:
$rssfeed .= '<description>' . $row['text']. '</description>';
Теперь я в замешательстве, так как наверняка это должно было сработать? Единственное, о чем я могу думать, это о том, что строка в базе данных слишком длинна для RSS-канала, поскольку она содержит полный текст статьи и HTML.
Я не был уверен, будет ли он автоматически обрезан или нет.
Есть идеи?
UPDATE
Это пример вывода:
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>RSS feed</title>
<link>http://www.12345.co.uk</link>
<description>RSS Feed from 12345.co.uk</description>
<language>en-uk</language>
<copyright>Copyright (C) 2011 12345.co.uk</copyright>
<item>
<title>Wear safe but stylish sunglasses on the slopes</title>
<description><![CDATA["<p>Holidaymakers hitting the slopes this year must remember to pack a pair of sunglasses alongside their skis, one expert has highlighted.</p>
<p>Dharmesh Patel, chairman of the Eyecare Trust, noted that UV protective eyewear is a must for skiers.</p>
<p>Posted by xxxxx</p>v"]]>
</description>
<link></link>
<pubDate>Mon, 03 Oct 2011 16:57:09 +0000</pubDate>
</item>