他サイトに表示させた場合 日付が1970/1/1になる

このQ&Aのポイント
  • 他サイトに表示させた場合、日付が1970/1/1になってしまう問題が発生しています。
  • MTOSを使って自分のホームページにMYOSの新着情報を表示させていますが、日付が1970/1/1になってしまいます。
  • PHPの記載に何か違う所があるのでしょうか。MTのATOMテンプレートを変更すれば解決するのでしょうか。
回答を見る
  • ベストアンサー

他サイトに表示させた場合 日付が1970/1/1になる。

MTOSを使っていますが、 自分のホームページにMYOSの新着情報を表示させたのですが、 日付部分が全て1970/1/1になります。 PHPの記載に何か違う所があるのでしょうか、 <?php require_once 'rss_fetch.inc'; require_once 'code_table.ucs2jis'; require_once 'jcode.php'; $url = 'http://www.公開したいアドレスですatom.xml'; $rss = fetch_rss($url); $title = $rss->channel['title']; //JcodeConvert($str, $from, $to) $title = JcodeConvert($title, 4, 2); foreach ($rss->items as $item ) { $title = $item[title]; $title = JcodeConvert($title, 4, 2); $url = $item[link]; $itemday = date('Y/n/j',strtotime(substr($item['dc']['date'],0,10))); $itemday = JcodeConvert($itemday, 4, 2); echo "<p class=\"midasi\"><a href=\"$url\" target=\"_blank\">$title</a>\n"; echo "<span class=\"date\">${itemday}</span></p>\n"; } ?> またMTの方のATOMテンプレートを変更すれば良いのでしょうか。 <$MTHTTPContentType type="application/atom+xml"$><?xml version="1.0" encoding="<$MTPublishCharset$>"?> <feed xmlns="http://www.w3.org/2005/Atom"> <title><$MTBlogName remove_html="1" encode_xml="1"$></title> <link rel="alternate" type="text/html" href="<$MTBlogURL encode_xml="1"$>" /> <link rel="self" type="application/atom+xml" href="<$MTLink template="atom"$>" /> <id>tag:<$MTBlogHost exclude_port="1" encode_xml="1"$>,<$MTTemplateCreatedOn format="%Y-%m-%d"$>:<$MTBlogRelativeURL encode_xml="1"$>/<$MTBlogID$></id> <updated><MTEntries lastn="1"><$MTEntryModifiedDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></MTEntries></updated> <MTIfNonEmpty tag="MTBlogDescription"><subtitle><$MTBlogDescription remove_html="1" encode_xml="1"$></subtitle></MTIfNonEmpty> <generator uri="http://www.sixapart.com/movabletype/"><$MTProductName version="1"$></generator> <MTEntries lastn="15"> <entry> <title><$MTEntryTitle remove_html="1" encode_xml="1"$></title> <link rel="alternate" type="text/html" href="<$MTEntryPermalink encode_xml="1"$>" /> <id><$MTEntryAtomID$></id> <published><$MTEntryDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></published> <updated><$MTEntryModifiedDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></updated> <summary><$MTEntryExcerpt remove_html="1" encode_xml="1"$></summary> <author> <name><$MTEntryAuthorDisplayName encode_xml="1"$></name> <MTIfNonEmpty tag="MTEntryAuthorURL"><uri><$MTEntryAuthorURL encode_xml="1"$></uri></MTIfNonEmpty> </author> <MTEntryCategories> <category term="<$MTCategoryLabel encode_xml="1"$>" scheme="http://www.sixapart.com/ns/types#category" /> </MTEntryCategories> <MTEntryIfTagged><MTEntryTags><category term="<$MTTagName normalize="1" encode_xml="1"$>" label="<$MTTagName encode_xml="1"$>" scheme="http://www.sixapart.com/ns/types#tag" /> </MTEntryTags></MTEntryIfTagged> <content type="html" xml:lang="<$MTBlogLanguage ietf="1"$>" xml:base="<$MTBlogURL encode_xml="1"$>"> <$MTEntryBody encode_xml="1"$> <$MTEntryMore encode_xml="1"$> </content> </entry> </MTEntries> </feed> まだまだ勉強不足なので ご迷惑お掛けしますがどうぞよろしくお願いいたします。

  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

ATOMテンプレートを見る限りですと、dc:dateが書かれてないような。 $item['updated']で参照してみるとか。

sonotanozassyu
質問者

お礼

とにかく勉強不足なので 頑張って覚えたいと思います、 ご回答誠にありがとうございました! またお礼が遅くなって申し訳ございませんでした。

関連するQ&A

  • RSS 日付の取得方法

    見てくださった方、こんにちは。 php超初心者のkitakaruと申します。 ホームページを作っていて、 RSSを取得して表示させたいのですが、 それが出来ずにほとほと困っています。 htmlやcssは多少分かるのですが、 phpは全くといっていいほど分かりません。 どなたか詳しい方がいらしゃいましたら、 ご教示頂けますでしょうか。 よろしくお願い致します。 呼び出しているxmlの形式はrss2.0です。 http://i-njoy.net/tips/rss.shtml こちらのサイトを参考に 以下のようソースを書きました。 (1)のpubdateというタグの値を引っ張ってこれず そこで行き詰ってしまっています。 ちなみにタイトルなどはきちんと表示されています。 分かる方、どうぞよろしくお願いします。 <?php require_once 'rss_fetch.inc'; require_once 'code_table.ucs2jis'; require_once 'jcode.php'; $url = 'http://www.xxxxxxxxxxxxx/index.xml?mode=rss'; $rss = fetch_rss($url); $title = $rss->channel['title']; $date1 = htmlspecialchars($item['pubdate']);  //(1)rss 出力日時を取得して 変数data1に代入 $date2 = date("Y.m.d", strtotime($date1));   //(2)表示形式変換 data1を変換したものを変数data2に代入 //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]; echo '<li><dl><dt>'.$date1.'</dt><dd><a href="'.$url.'">'.$title.'</a></dd></dl></li>'; //(3)変数data2を出力 } ?>

    • ベストアンサー
    • PHP
  • Ruby RSSの文字置換について

    RubyでRSSリーダーを作成しているのですが、 読み込んだRSSのエンコード(utf-8)とプログラムのエンコード(cp932)が異なるため、 エラーが発生しました。 <プログラム> ------------------------------------------------------- # encoding: cp932 require 'open-uri' require 'rss' xml = nil open("http://codezine.jp/rss/new/20/index.xml") { |http|    xml = http.read } rss = RSS::Parser.parse(xml.force_encoding("utf-8")) puts "#{rss.channel.title.encode('cp932', 'utf-8')}"\ + "#{rss.channel.pubDate.strftime("%Y/%m/%d %X")}" rss.items.each do |item|    puts '--------------------------'    puts item.title.encode('cp932', 'utf-8')    puts item.pubDate.strftime("%Y/%m/%d %X")    puts item.description.encode('cp932', 'utf-8') end ------------------------------------------------------ <エラーメッセージ> ------------------------------------------------------ rss_r.rb:18:in `encode': U+2013 from UTF-8 to Windows-31J (Encoding::UndefinedConversionError) ------------------------------------------------------ 以下のサイトを参考にして文字を置換しようと思ったのですが、 http://qiita.com/yugo-yamamoto/items/0c12488447cb8c2fc018 rssはStringクラスではないため、trメソッドが使えません。 どのようにすれば文字を置換できるのか教えていただけますでしょうか。

    • ベストアンサー
    • Ruby
  • MagpieRSSでRSSを取得し、ランダムに表示

    <?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を使えばできるような感じですが、記述方法が全く分かりません。 何を記述すれば、ランダム表示されますか。

    • ベストアンサー
    • PHP
  • RSSはサイトマップの代用になりますか?

    お世話になります。 HPを作成し、xmlファイルでRSSを作成しました。 利用したRSS作成ソフトは、「Fumy RSS & Atom Maker」です。 http://www.nishishi.com/soft/rssmaker/ 作成された 「rss20.xml」は、サイトマップの代わりになるのでしょうか? HPのheader部分には、 <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="http://(URL名)/rss20.xml" /> と記述しました。 sitemap.xmlファイルを、RSSファイルとは”別に”作成すべきなのですしょうか? 一般的に検索エンジンがサイトをクロールできることを目的としています。 ---- また、もし、ウェブマスターツールに登録しないのであれば、 特に、sitemap.xmlなどは、作成する必要ないのでしょうか? 検索していますと、  インデックス(登録)してもらうためにサイトマップ(XML形式ファイル)を作成して、  「Googleウェブマスターツール」を利用してサイトマップを登録します。 という言い方多いので、saitemapは、ウェブマスターツールを利用するときに必要であって、 単にクロールしてきたときにインデックスしてもらうだけであれば、 sitemap.xmlは特に必要ないのかどうかが理解できません。 よろしくおねがいします。

  • magpierssを利用して携帯サイトにRSS情報を表示

    magpierssを利用して携帯サイトにRSS情報を表示 magpierssを利用して携帯サイトにツイッターのつぶやきを表示させたいと思っています。 現時点でサイトにつぶやきを表示するところまでいきましたが、 つぶやき内容に書かれてあるURLを自動リンクにしたいのですが可能でしょうか? 現在は、リンクをクリックすると、PCのツイッターのページへリンクされております。 このリンクではなく、つぶやきにURLが書かれていた場合、そのURLを自動リンクにしたいと思っております。 PHPに関しては知識がないもので、 下記PHP表記も他サイト様に掲載されていた情報を元に作成しました。 rssはssiを利用して読み込んでおります。 -------------------- rss.phpの表記 <?php require_once 'rss_fetch.inc'; require_once 'code_table.ucs2jis'; require_once 'jcode.php'; $url = 'http://twitter.com/statuses/user_timeline/ツイッターID.rss'; $rss = fetch_rss($url); $title = $rss->channel['title']; // 表示する件数の上限 $rss = fetch_rss($url); $rss->items = array_slice($rss->items, 0, 5); //JcodeConvert($str, $from, $to) //0:PASS(無変換)1:EUC-JP 2:Shift_JIS 3:ISO-2022-JP(JIS) 4:UTF-8 $title = JcodeConvert($title, 4, 2); foreach ($rss->items as $item ) { $title = $item[title]; $title = JcodeConvert($title, 4, 2); $url = $item[link]; echo '<dt><a href="'.$url.'">'.$title.'</a></dt>'; } ?> ------------------------------- 読み込むhtmlの表記 <dl> <!--#include virtual="../magpie/rss.php"--> </dl> 色々なサイトを見てみましたが、基本的なPHPの知識がなく、 まったくわからない状態です。 どなたかご教授いただければと思います。よろしくお願いいたします。

    • 締切済み
    • PHP
  • RSSリーダーに表示させないようにするには?

    FC2でブログをやろうと思うのですが、RSSリーダーに表示させないように出来ますでしょうか。 素人考えでスキンの <link rel="alternate" type="application/rss+xml" href="<%url>?xml" title="rss"> っていう部分を削除してみました。 一応私のリーダーには表示されてないみたいですけど、これで大丈夫でしょうか? わかる方がいたらよろしくお願いします。

  • ブログのデザインについて

    ライブドアブログを使っています。 TOPページ上のデザインを選ぶことができますが、自分のJPEGファイルなどを設定することはできないのでしょうか? 例えばhttp://blog.livedoor.jp/sod/ では書き始めが <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp" /> <link rel="stylesheet" href="http://blog.livedoor.jp/sod/site.css" type="text/css" /> <link rel="alternate" type="application/rss+xml" title="RSS" href="http://blog.livedoor.jp/sod/index.rdf" /> <link rel="alternate" type="application/atom+xml" title="Atom" href="http://blog.livedoor.jp/sod/atom.xml" /> <title>ケ筝カ、ャ、ハ、・ヨ・愠ー クラ、ホタシ - SOD</title> </head> <body> <!-- HEADER --> のようになっているのですが、この<!-- HEADER --> より上の部分をいじれば独自のデザインを設定できるのでしょうか? タグのことなどよく分からない初心者ですので書き方など詳しく教えていただけたら幸いです。 よろしくお願いします。

  • PHPスクリプトにスタイルシートを適用するには?

    MagpieRSS(http://magpierss.sourceforge.net/)で取得した以下のPHPスクリプトでRSSをリスト化してWEB表示させることができたのですが、これにスタイルシートを適用したい場合、どのような方法がありますか?PHP初心者なためぜんぜんわかりません。 <?php require_once 'rss_fetch.inc'; require_once 'code_table.ucs2jis'; require_once 'jcode.php'; $url = 'http://~; $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, 2); foreach ($rss->items as $item ) { $title = $item[title]; $title = JcodeConvert($title, 4, 2); $url = $item[link]; echo "<li><a href=\"$url\">$title</a></li>\n"; } ?>

    • ベストアンサー
    • PHP
  • rss xmlをhtmlで表示させる。

    rss.xmlでつくったxmlファイルをhtmlで表示させたいのですが、 <link rel="alternate" type="application/rss+xml" title="RSS" href="rss/rss.xml" /> あるサイトでxmlファイル+上記のコードを<head>タグ内にいれると表示される。 と、説明が終わっているのですが、コードを打ちこんでも表示されません。 普通に考えて、これだけだとhtmlページ内のbodyのどこにxmlファイルを表示するのかも指定できてません。 質問は 1、xmlファイルが表示されないのは、何らかのコードをbody内に加えて表示する命令が無いからでしょうか。 その場合どのようなコードを打つべきでしょうか。 2、この方法がそもそも根本的に適切でないのでしょうか。 サイトで調べているとjavasqriptまたはphpによるxmlファイルの表示が多く見受けられました。 phpはまだ手が出せないのでjavasqriptの方法を取る場合、どのようなコードを使えばよいでしょうか。 というのも、サイトによってコードが異なるように感じられます。一番一般的であったり、軽くてよいコードなどがあれば教えていただきたいです。 回答よろしくお願いします。

    • 締切済み
    • XML
  • Flashにブログ更新情報を表示する

    Flash初心者です。 Flashにブログのatom(rss.xml)を読み込み ブログタイトルや、最新の記事タイトル3つを表示させようと思っています。 ちょうど良いサイトがあり、 http://allabout.co.jp/gs/flash/closeup/CU20090926E/ に従い、1フレーム目に ============================================================ System.useCodepage = true; newsData = new XML(); newsData.ignoreWhite = true; newsData.load("(自身のブログTOPへのフルパス)/atom.xml"); ↑(GoogleのBlogger)のrss.xmlをフルパスで指定しました。↑ ============================================================ と指定し、 10フレーム目に ============================================================ //サイトのタイトルを取得 siteTitle = newsData.firstChild.childNodes[0].childNodes[2].nodeValue; //サイトのURLを取得 siteUrl = newsData.firstChild.childNodes[0].childNodes[6].nodeValue; //記事タイトルを格納する変数 item1Title = newsData.firstChild.childNodes[0].childNodes[13].childNodes[4].nodeValue; item1Url = newsData.firstChild.childNodes[0].childNodes[13].childNodes[10].nodeValue; item1Title = newsData.firstChild.childNodes[0].childNodes[14].childNodes[4].nodeValue; item1Url = newsData.firstChild.childNodes[0].childNodes[14].childNodes[10].nodeValue; item1Title = newsData.firstChild.childNodes[0].childNodes[15].childNodes[4].nodeValue; item1Url = newsData.firstChild.childNodes[0].childNodes[15].childNodes[10].nodeValue; //整形してテキストボックスに表示 // site.htmlText = "<b><a href='" + siteUrl + "'>" + siteTitle + "</a></b>"; item.htmlText = "<b>新着情報</b>" if(item1Title != undefined){ item.htmlText += "<a href='" + item1Url + "'>" + item1Title + "</a>"; } if(item2Title != undefined){ item.htmlText += "<a href='" + item2Url + "'>" + item2Title + "</a>"; } if(item3Title != undefined){ item.htmlText += "<a href='" + item3Url + "'>" + item3Title + "</a>"; } ============================================================ と指定したxmlに合わせてxmlの内容の取り出し指定を変更しましたが、 「URL '(自身のブログTOPへのフルパス)/atom.xml' を開く処理のエラー」 という出力エラーが出てしまいます。 理解せずに作っているので、何が悪いのかまったくわかりません。 よろしくお願いいたします。

専門家に質問してみよう