SimplePie Encoding - PullRequest
       28

SimplePie Encoding

1 голос
/ 28 августа 2010

Я использую 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>

1 Ответ

1 голос
/ 28 августа 2010

Вместо этого используйте htmlentities и сделайте это так:

 <?php echo htmlentities ($item->get_description(), ENT_COMPAT, "UTF-8"); ?>
...