外部RSS:<description>内のタグについて

「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
返信
Ushishi
記事: 5
登録日時: 2007年8月24日(金) 14:20

外部RSS:<description>内のタグについて

投稿記事 by Ushishi » 2007年8月24日(金) 15:05

外部RSSを読み込んで、自分のサイトに表示させているのですが、多くの配信サイトは、<description>内に「<」と「>」でタグを作っています。
それらがそのまま表示されてしまうのですが、何か良い対処方法はございますでしょうか?

例えば、RSS内に

コード: 全て選択

<description>A自動車とB自動車は8月23日、小型ディーゼルエンジンの開発および生産、供給に関する業務提携に合意したと発表した。<a href="#">ニュースを読む</a></description>
があるとして、自分のサイトのPHPに、

コード: 全て選択

<cmsd:xml src="http://www.〜/rss.xml" design="news" />
で貼りつけました。

RSSリーダーであれば、
    A自動車とB自動車は8月23日、小型ディーゼルエンジンの開発および生産、供給に関する業務提携に合意したと発表した。ニュースを読む
となって、「ニュースを読む」のところは、アンカーとして機能しています。

しかし、CMSDesignerで自分のサイトに表示させようとすると、
    A自動車とB自動車は8月23日、小型ディーゼルエンジンの開発および生産、供給に関する業務提携に合意したと発表した。<a href="#">ニュースを読む</a>
と、記号が全てあらわれてしまいます。

HTMLなど、あまり詳しくないので、説明が分かりにくいかもしれませんが、対処法はあるのでしょうか。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: 外部RSS:<description>内のタグについて

投稿記事 by webmaster » 2007年8月25日(土) 00:09

 Ushishiさん、ご質問ありがとうございます。
 恐らく、デザイン定義側で

<xsl:value-of select="description" />

 というような記述を行っているかと思うのですが、これを

<xsl:value-of select="description" disable-output-escaping="yes" />

 としてみると、どうでしょうか。
 一度、お試しいただければ幸いです。

Ushishi
記事: 5
登録日時: 2007年8月24日(金) 14:20

Re:Re: 外部RSS:<description>内のタグについて

投稿記事 by Ushishi » 2007年8月25日(土) 02:12

ありがとうございました。無事に解決することができました。
こんな簡単に出来るのですね。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re:Re: 外部RSS:<description>内のタグについて

投稿記事 by webmaster » 2007年8月25日(土) 10:54

 ご報告ありがとうございます。

 XSLTの出力結果は、デフォルトではタグがエスケープ処理(タグを実体参照に
変換する処理)されます。

 これを抑制し、タグはタグのまま出力するのが disable-output-escaping="yes"
の指定となります。

 この辺はXSLT知識になる為、いろいろと面倒かと思いますが、同様の事象が起きた
際にはご利用下さい。

返信