Кодирование SimplePie

Я использую SimplePie для анализа и отображения xml-канала на своем сайте. У меня есть два отдельных 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>

person Victor Duwon    schedule 28.08.2010    source источник


Ответы (1)


Вместо этого используйте htmlentities и сделайте это следующим образом:

 <?php echo htmlentities ($item->get_description(), ENT_COMPAT, "UTF-8"); ?>
person shamittomar    schedule 28.08.2010