質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

2549閲覧

phpを使ったフィードでカテゴリーのクラス名をカテゴリごとに振り分けしたい

ttaison

総合スコア19

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2015/12/14 07:57

当方php初心者です。
web上の情報を頼りにフィードの作成を行い、望んだ形での表示がひとまず出来るようになりました。
次に、カテゴリー部分のclass名を**「カテゴリーごと違うclass名にしたい」**と思っているのですが、何かいい方法はありませんでしょうか。。。

現在の作成状況は、

  • 表示用ページの拡張子はhtmlで作成

(phpは使用可能)

  • 取得するデータはwordpressのrssを取得
  • カテゴリーは4つ(振り分けができれば命名はどんなものでも大丈夫です)

他にも何か必要な情報があればおっしゃってください。

以下は現在表示用のhtmlに書き込んであるコードになります。

<?php // ライブラリの読み込み require_once ($_SERVER['DOCUMENT_ROOT'] . '/Feed.php'); // 取得するフィードのURLを指定 $url = "フィードのURL" ; // インスタンスの作成 $feed = new Feed ; // RSSを読み込む $rss = $feed->loadRss( $url ) ; // HTML表示用 $html = '' ; $sitename = $rss->title ; foreach( $rss->item as $item ) { // 各エントリーの処理 $title = $item->title ; // タイトル $link = $item->link ; // リンク $category = (string)$item->category;// カテゴリー // 日付の取得(UNIX TIMESTAMP) foreach( array( "pubDate" , "date_timestamp" , "dc:date" , "published" , "issued" ) as $time ) { if( isset( $item->{ $time } ) && !empty( $item->{ $time } ) ) { $timestamp = ( is_int( $item->{ $time } ) ) ? $item->{ $time } : strtotime( $item->{ $time } ) ; break ; } } // 仮に日付が取得できなかったら現在時刻 if( !isset( $timestamp ) ) { $timestamp = time() ; } // 表示(ここのカテゴリー部のクラス名を振り分けたい) $html .= '<dt class="blog_list"><a href="' . $link . '" target="_blank"><span class="category">'. $category . '</span><span class="info">'.date( "Y/m/d" , $timestamp ) . '</span><span class="tit">'.$title . '</span></a></dt>' ; } ?> <dl> <?php echo $html ?> </dl>

phpのみでなくとも解決法があれば取り込んでいきたいので、
ぜひお力添えをお願い致します・・;

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

CSSのクラス名にはマルチバイト文字も問題無く使えるので、一番簡単な形だとこんな感じでしょうか。

PHP

1 // 表示(ここのカテゴリー部のクラス名を振り分けたい) 2 $html .= '<dt class="blog_list"><a href="' . $link . '" target="_blank"><span class=".$category.">'. $category . '</span><span class="info">'.date( "Y/m/d" , $timestamp ) . '</span><span class="tit">'.$title . '</span></a></dt>' ; 3 4

投稿2015/12/14 08:53

tanat

総合スコア18713

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ttaison

2015/12/15 02:35

ご回答ありがとうございます。 上記の形で入れてみたのですが、クラス名が「.$category.」という文字列で返されてしまいます。 試しに.$category.の「.」の部分を取る方法もやってみたのですが、結果は同じでした・・;
ttaison

2015/12/15 02:46

すみません!シングルクオーテーションで囲んだらできました! ありがとうございます^^
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問