• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MagpieRSSでアメブロ画像取得)

MagpieRSSでアメブロ画像取得

mikemike7の回答

  • mikemike7
  • ベストアンサー率87% (97/111)
回答No.2

>なぜか絵文字アイコン(GIF)は表示されますが、 >アップロードした画像は表示されません・・・ 絵文字アイコンは記事には入ってないからおかしいんですか? わからないですが、無料系のホームページやブログなどは外部から呼び出し禁止にしているところもあります。 HTMLタグが正常ならそのせいかもしれませんねえ。 あと、考えられるとしたらCSSで非表示にしてるとかくらいですか。 >これを記事の1番初めの画像一つだけ表示させる事は出来ますでしょうか。 以下に変えます。 if(preg_match('#<img[^>]*src=["\']?([^"\' >]+)["\']?[^>]*>#is',$item['description'],$str)){ // 横幅100で合わせる echo '<img src="'.$str["1"].'" width="100">'; // 縦幅100で合わせる // echo '<img src="'.$str["1"].'" height="100">'; }

関連するQ&A

  • MagpieRSSで異なる複数のブログを表示

    お世話になります。PHPの初心者です。 MagpieRSSを使用して、異なる複数のブログを1つの更新欄にまとめ、 最新記事を5件表示させたいです。 いろいろ参考にしながら、下記のようなソースを組み、 なんとか複数のブログを1つにまとめるまでは出来ました。 しかしながら件数の指定方法がわからず、困っています。 どのようにしたら5件表示できるようになるでしょうか? 宜しくお願い致します。 <?php require_once 'rss_fetch.inc'; require_once 'rss_utils.inc'; require_once 'jcode.php'; include_once 'rss_utils.inc'; define('MAGPIE_OUTPUT_ENCODING', 'UTF-8'); define('MAGPIE_CACHE_ON', false); $url = array( 'http://example1.com/index.xml', 'http://example2.com/index.xml', 'http://example3.com/index.xml', 'http://example4.com/index.xml'); for ($i = 0; isset($url[$i]); $i++) { $rss = fetch_rss($url[$i]); $title = $rss->channel['title']; $title = mb_convert_encoding($title, "Shift_JIS", "UTF-8"); $rss->items = array_slice($rss->items, 0, 5); foreach ($rss->items as $item ) { $title = $item[title]; $title = mb_convert_encoding($title, "Shift_JIS", "UTF-8"); $item_url = $item[link]; $itemday = date('Y-n-j',strtotime(substr($item['dc']['date'],0,10))); $mday = date('w',strtotime(substr($item['dc']['date'],0,10))); echo "<li><strong>${itemday} $youbi[$mday] ${itemtime}</strong><a href=\"$item_url\">$title</a></li>\n"; } echo "\n"; } ?>

    • ベストアンサー
    • PHP
  • MagpieRSSを使用して自分のHPにxmlを表示させる方法

    お世話になります。 データベースよりxmlを生成し、自分のHPに1ページに埋め込みたいと思っています。 いろいろなサイトを参考に、MagpieRSSを使用して表示させたいのですが、コードのサンプルに記載されている他サイトのRSS・xmlは表示できるのですが、ローカルのxmlは下記のエラーが出てしまい表示できません。 Warning: MagpieRSS: Failed to parse RSS file. (not well-formed (invalid token) at line 9, column 21) in /aaa/rss/rss_fetch.inc on line 238 変更した部分は、表示するxmlのURLのみです。 使用しているphpのバージョンは4.34、MagpieRSSのバージョンは0.72です。 問題のrss.phpのソース↓ <?php require_once 'rss_fetch.inc'; define('MAGPIE_OUTPUT_ENCODING', 'UTF-8'); $url = 'http://www.aaa.com/rss.xml'; $rss = fetch_rss($url); if ($rss && !$rss->ERROR) { drawRSS($rss); }else{ echo "取得できませんでした。"; } function drawRSS($rss){ $items = array_slice($rss->items, 0, 10); echo "<ul>\n"; foreach ($items as $item ) { $title = $item[title]; $title = mb_convert_encoding($title, "UTF-8", "auto"); $url = $item[link]; $description = $item[description]; $description = mb_convert_encoding($description, "UTF-8", "auto"); echo "<li><a href=\"$url\">$title</a></li>\n$description"; } echo "</ul>\n"; } ?> 何か、対処方法をご存知の方教えてください。 よろしくお願いいたします。

    • ベストアンサー
    • XML
  • MagpieRSSを使ってrss取得の際の表示件数

    MagpieRSSを使ってrssを取得したく下記のphpを作成しました。 <?php define('MAGPIE_OUTPUT_ENCODING','UTF-8'); require_once('rss_fetch.inc'); $url="xxxx.rdf"; $rss = fetch_rss($url); foreach($rss->items as $item){ foreach($item[dc] as $key => $daytime){ if($key == "date"){ $rssdate = strtotime("$daytime"); $today = strtotime(date("Y/m/d H:i")); } if($rssdate > $today){ print("$item[title]"); } } } ?> 過去から未来の予定が書いてあるRSS(rdf)があり、 現在の時間のデータを取得して、未来の予定のを表示したいです。 現在、print("$item[title]");で未来の予定がズラっと取得できる状態です。 そして、ここからが問題なのですが、 ここ(print("$item[title]");)の表示を最新の1件にしたいのですが、どうしてもうまくいきません。 ご教授お願いします。

    • ベストアンサー
    • PHP
  • Magpie RSSを使用して日付表示できないエラー

    初めまして、お世話になります。 PHPに関しては初心者です。 Magpie RSSを使用してフィードをトップページに表示させたいのですが タイトルは問題ないなく表示されるのですが、日付を表示させようとすると1970年01月01日 と表示され取得出来ない状態です。 MagpieRSSのバージョンは0.72でRSS2.0です。 取得先はwordpress バーション2.61になります。 色々と調べてみて Magpie0.7より使用できる$item['date_timestamp']という参照方法も試してみたのですがだめでした。 サーバーの問題かと思い複数のサーバーでも試したのですが1970年01月01日と表示されてしまします。 具体的なソースは下記の通りです。 <?php require_once 'rss_fetch.inc'; define('MAGPIE_FETCH_TIME_OUT', 30); // タイムアウトまでの define('MAGPIE_CACHE_AGE', 30*60); // キャッシュ更新の時間 $url = 'フィードのURL'; $rss = fetch_rss($url); $title = $rss->channel['title']; echo "<li class=\"ItemTitle\"><a href=\"$url\">RSS記事一覧を表示</a></li>\n"; $title = mb_convert_encoding($title, "UTF-8", "auto"); $rss->items = array_slice($rss->items, 0, 10); foreach ($rss->items as $item ) { $title = $item[title]; $title = mb_convert_encoding($title, "UTF-8", "auto"); $url = $item[link]; $date_str = date("m月d日 ", $item['date_timestamp']); if ($date >= time() - 3600 * 24 * 7) { $date_str = "<EM>" . $date_str . "</EM>"; } echo "<li class=\"ItemTitle\">$date_str<a href=\"$url\">$title</a></li>\n"; }; $url = $rss->channel['link']; ?> どなたか対処法をご存じの方がおられましたらご教授頂けると 幸いに思います。 以上、よろしくお願いいたします。

    • 締切済み
    • PHP
  • さくらレンタルサーバーでのMagpieRSS設置方法

    さくらインターネットサーバーを使用しています。 RSSをサイトに表示しようとしています。javaタイプではなく、ロボット検索エンジンに認識されるものとしてPHPを試しています。 そこで、MagpieRSSを利用したいと考えているのですが、 http://www.kosaki.name/cms/movable-type/rss-html/ http://ameblo.jp/yamasita-94nsr/entry-10018566158.html を参考に、 indexと同じ階層に magpie / rss.php(属性755)      │  jcode.php      │  code_table.ucs2jis      │  rss_cache.inc      │  rss_fetch.inc      │  rss_parse.inc      │  rss_utils.inc      │      ├ extlib / Snoopy.class.inc      │      └ cache (属性755) をアップロードし、rss.php内を <?php require_once 'rss_fetch.inc'; require_once 'code_table.ucs2jis'; require_once 'jcode.php'; $url = 'httpから始まるRSSのURL'; $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"; } ?> と記述。 http://www.サイトURL/magpie/rss.phpを表示して動作確認をしようとしたのですが、真っ白で何も表示されません。 設定方法がおかしいのでしょうか。

    • ベストアンサー
    • PHP
  • RSSを取得したいのですが

    下記サイトを参考に、以下のコードを埋め込んだのですが、 http://plaza.rakuten.co.jp/kemusiro/diary/200601150000/ 日付が (1970/01/01 00:00:00) と表示された上に文字化けしてしまいます。 MagpieRSSはmagpierss-0.72.tar.gzから必要ファイルを、index.phpの下におきました。 正常に表示させるためには、どう直せばよいでしょうか? <?php require_once('magpierss/rss_fetch.inc'); define('MAGPIE_OUTPUT_ENCODING', 'UTF-8'); $count = 5; $length = 60; $url = 'http://api.plaza.rakuten.ne.jp/kemusiro/rss/'; $rss = fetch_rss($url); echo "<ul>"; array_splice($rss->items, $count); foreach ($rss->items as $item) { $href = $item['link']; $title = mb_convert_encoding($item['title'], "SJIS", "auto"); $date = date('Y/m/d H:i:s', parse_w3cdtf($item['dc']['date'])); $description = mb_convert_encoding($item['description'], "SJIS", "auto"); if (mb_strlen($description) > $length) { $description = mb_strcut($description, 0, $length) . "..."; } echo "<li>"; echo "<FONT color=\"#ff8040\">(" . $date . ")</FONT> "; echo "<a href=$href>" . $title . "</a><BR>"; echo $description . "</li>"; } echo "</ul>"; ?>

    • 締切済み
    • PHP
  • 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
  • PHPパーサー MagpieRSSについて

    PHPパーサーのMagpieRSSを使用しています。 読み込むxmlが更新されてもそれが反映されません。 また、htmlとして書き出す際に<p>タグにid名を付けたいのですが、idをつけるとエラーがでます。これはPHPでは文法的にまずいんでしょうか?下記が使用しているソースです。 重ねて質問なんですが、下記のソースでは1つのxmlしか読み込んでいませんが、複数のxmlを読み込むにはどうしたらいいのでしょうか。 よろしくお願いします。 <?php require_once 'rss_fetch.inc'; require_once 'rss_utils.inc'; $url = 'http://www.xxxxx/xxxxxx/index.xml'; $rss = fetch_rss($url); $title = $rss->channel['title']; $title = mb_convert_encoding($title, "UTF-8", "auto"); $rss->items = array_slice($rss->items, 0, 1); foreach ($rss->items as $item ) { $description = $item[description]; $description = mb_convert_encoding($description, "UTF-8", "auto"); $url = $item[link]; $date = date("Y.m.d", $item['date_timestamp']); echo "$description?n"; } ?>

    • ベストアンサー
    • PHP
  • 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
  • MagpieRSSについて(PHPでRSSを取得、解析)

    http://works.xrea.jp/headline.php 上記サイトにてPHPを利用したRSSの取得と解析に挑戦しています。 PHPについては全くの素人です。 説明どおりにやってもうまくいきません。ブラウザで見ると下記のように表示されます。 channel['title']; $title = mb_convert_encoding($title, "EUC-JP", "auto"); echo "<h4>$title</h4>?n"; echo "<ul>?n"; foreach ($rss->items as $item ) { $title = $item[title]; $title = mb_convert_encoding($title, "EUC-JP", "auto"); $url = $item[link]; echo "<li><a href=?"$url?">$title</a></li>?n"; } echo "</ul>?n"; ?> そもそもPHPはhtmlに埋め込んで使えるのでしょうか? htmlはDOCTYPE宣言からはじまるxthmlです。 サーバーはPHPが使えるものです。 教えてください。よろしくお願いします。

    • ベストアンサー
    • PHP