電子書籍の厳選無料作品が豊富!

<?php
require_once 'rss_fetch.inc';
require_once 'code_table.ucs2jis';
require_once 'jcode.php';
$url = 'xmlアドレス';

$rss = fetch_rss($url);
$title = $rss->channel['title'];
//JcodeConvert($str, $from, $to)
//0:PASS(無変換)1:EUC-JP 2:Shift_JIS 3:ISO-2022-JP(JIS) 4:UTF-8
$title = JcodeConvert($title, 4, 4);
foreach ($rss->items as $item ) {
$title = $item[title];
$title = JcodeConvert($title, 4, 4);
$url = $item[link];
$description = $item[description];
$description = mb_convert_encoding($description, "Shift_JIS", "auto");
$description = mb_strimwidth($description, 0, 120, "" , "Shift_JIS");
echo "<li><a href=\"$url\">$title</a><br>$description</li>\n";
}
?>
と記述し、
<ul>
<!--#include virtual="上記phpファイルのアドレス" -->
</ul>
でサイトにRSSを表示しているのですが、
通常上が新しいものが表示されているのですが、
これをランダムに表示したいと考えています、
shuffleを使えばできるような感じですが、記述方法が全く分かりません。
何を記述すれば、ランダム表示されますか。

A 回答 (4件)

<ul></ul>の間にインクルードしたいならばこんな感じでどうでしょうか。


http://pastebin.com/2RJjcPV4

SSIって最近使われているんですかね・・・?
恥ずかしながらSSI自体の存在を今まで知らなかったのですが、
正直わざわざこれを今採用するメリットは皆無に思えます。
http://detail.chiebukuro.yahoo.co.jp/qa/question …

素直に読み込み元のファイルについて

「*.shtml」

「*.php」

「<!--#include virtual="上記phpファイルのアドレス" -->」

「<?php require('上記phpファイルへの相対パス'); ?>」

でいいんじゃないですかね。
読み込みもとのファイルはShift_JISで書かれていると思いますが、
この際全部UTF-8に変えちゃいましょう。
Shift_JISなんて今の時代デメリットばかりでメリット皆無です。
Windowsの「メモ帳」を使っているならば支障がありますが、
メモ帳を使うこと自体がナンセンスです。
世界の流れもご覧ください↓
http://news.mynavi.jp/news/2012/02/09/027/

最初の例を含め、参考にされている情報が非常に古いようなので、
賞味期限が切れていないんか確認するようにしましょう。
    • good
    • 0

連投失礼します。



更に訂正
$item->url → $item->link
    • good
    • 0

すいません肝心のシャッフル忘れてました(汗


$articlesに格納していくforeachを抜けた直後に shuffle($articles); と書いてください。
    • good
    • 0

参考にされているサイトはこちらでしょうか・・・?


http://www.hyuki.com/yukiwiki/wiki.cgi?MagpieRSS

このサイトの情報はとても古いので参考にしないでください。


【このコードの問題点】

・現在はMagpieRSSを使わなくてもPHPに標準実装されている
 SimpleXML関数を使えばこの目的は実現できる。
・現在はShift_JISが使われることは稀で、
 UTF-8でページを作成することがほとんどである。
 jcode.phpを通う必要性も無い。
・$item[title] ではなく $item['title'] としないと、E_NOTICEが発生する。

サンプル
http://pastebin.com/xLZNjGJ9

この回答への補足

早速、回答有難うございます。
記述方法で質問です。

【PHP外部ファイルの中身】
<?php

$url = 'xmlのURL';
$xml = @simplexml_load_file($url);
$articles = array();

if ($xml) {
$title = (string)$xml->channel->title;
foreach ($xml->channel->item as $item) {
$articles[] = array(
'url' => (string)$item->url,
'title' => (string)$item->title,
'description' => mb_strimwidth(
(string)$item->description,
0,
120,
'...',
'UTF-8'
),
);
}
} else {
$title = '取得失敗';
}

header('Content-Type: text/html; charset=utf-8');

?>

と記述すると、
これを読みだすための本文に記述する文字は何でしょうか。
<ul>
<!--#include virtual="../magpie/other_rss.php" -->
</ul>
のような文は何でしょうか。

補足日時:2013/10/21 09:46
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!