1

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>
4

1 に答える 1

1

代わりにhtmlentities、次のように使用して実行してください。

 <?php echo htmlentities ($item->get_description(), ENT_COMPAT, "UTF-8"); ?>
于 2010-08-28T15:20:13.907 に答える