RSS の内容を整形して PHP へ流し込む

| | コメント(0) | トラックバック(0)

せっかく RSS で更新情報を提供したんだから、手書きで同じことをトップページに書くのはアホらしい。そこで、PHP の XSLT を使って、RSS の内容を整形して流し込んでみた。

更新情報の提供がすごく楽になったはず。

参考: http://php.morva.net/manual/ja/ref.xslt.php

PHP4向け (当サーバー・s5.xrea)
<?php
        $xslt = xslt_create();
        $result = xslt_process($xslt, 'rss.rdf', 'rss.xsl');
        if ($result) {
                echo $result;
        }
        xslt_free($xslt);
?>

PHP5向け

<?php
        $xml = new DomDocument;
        $xml->load('rss.rdf');
        $xsl = new DomDocument;
        $xsl->load('rss.xsl');
        $xslt = new XSLTProcessor;
        $xslt->importStyleSheet($xsl);
        echo $xslt->transformToXML($xml);
?>
XSLファイル
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:admin="http://webns.net/mvcb/"
xmlns:rss="http://purl.org/rss/1.0/">
<xsl:template match="/">
  <xsl:apply-templates select="rdf:RDF" />
</xsl:template>
<xsl:template match="rdf:RDF">
  <ul>
    <xsl:apply-templates select="rss:item" />
  </ul>
</xsl:template>
<xsl:template match="rss:item">
  <xsl:if test="position()&lt;=5">
  <xsl:variable name="yy" select="substring(dc:date, 3, 2)" />
  <xsl:variable name="m" select="number(substring(dc:date, 6, 2))" />
  <!--xsl:variable name="mm" select="substring(dc:date, 6, 2)" /-->
  <xsl:variable name="d" select="number(substring(dc:date, 9, 2))" />
  <!--xsl:variable name="dd" select="substring(dc:date, 9, 2)" /-->
  <li><a href="{rss:link}"><xsl:value-of select="rss:title" /></a> [<xsl:value-of select="concat($yy, '年', $m, '月', $d, '日')" />]</li>
  </xsl:if>
</xsl:template>
</xsl:stylesheet>

トラックバック(0)

このブログ記事を参照しているブログ一覧: RSS の内容を整形して PHP へ流し込む

このブログ記事に対するトラックバックURL: http://www.towofu.net/cgi-bin/mt/mt-tb.cgi/151

コメントする

このブログ記事について

このページは、towofuが2005年7月13日 17:30に書いたブログ記事です。

ひとつ前のブログ記事は「RSSファイルの自動作成&アップロードソフト、RSS Post をリリース」です。

次のブログ記事は「「世界の言語の数体系」で妄想する」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。