SimplePieを使用して、自分のサイトでxmlフィードを解析および表示しています。私は2つの別々のRSSフィードを持っており、それぞれをSimplePieで実行してから、サイドバーに表示しています。
私が抱えている問題は、各フィードにスマートクォートが含まれていて、ブラウザーに奇数文字として表示されることです。SimplePieのエンコーディングはUTF-8に設定されていますが、文字は引き続き表示されます。
引用符を削除するための小さな関数(以下)を挿入しましたが、それでも表示されます。
function killsmartquotes($content)
{
$content = str_replace("”", "”", $content);
$content = str_replace("“", "“", $content);
$content = str_replace("‘", "‘", $content);
$content = str_replace("’", "’", $content);
$content = str_replace("—", "—", $content);
return $content;
}
<?php foreach ($feeds[0]->get_items(0, 1) as $item): ?>
<h5><a href="<?php echo $item->get_permalink(); ?>"><?php echo $item->get_title(); ?></a></h5>
<p class="feed_description"><?php echo killsmartquotes($item->get_description()); ?></p>
<br />
<span><?php echo $item->get_date('j F Y'); ?> | <a href="#"><?php echo $site_names[0]; ?></a>
</span>
<?php endforeach; ?>
</li>