[PHP-users 16733]Re: PEARで RSS

Youichi Iwakiri yiwakiri @ st.rim.or.jp
2003年 7月 16日 (水) 17:17:28 JST


いわきりです

Y.Watanabe wrote in <15C34B65D215EAyuw @ msj.biglobe.ne.jp> :
>XML_RSSが内部で依存しているXml_Parserのほうが、
>ファイルポインタ(つまり http://***.xmlとか stdin://***.xmlとか)しか
>読み込めないようになっているので、

>>XML_RSS には、URL か php のファイルストリームを渡すようですが、
>>string 型のデータから、ストリームって作れないんでしょうか?

>ってなことができないんだそうです。

ちと強引ですが、
http://www.php.net/manual/ja/function.stream-register-wrapper.php
にあるVariableStreamラッパーを使って下記のようにするってのは
どうでしょう?

<?
class VariableStream {
    :
    :
}

stream_register_wrapper("var", "VariableStream")
    or die("Failed to register protocol");

$rss_data = '
<?xml version="1.0" encoding="UTF-8" ?> 
<rdf:RDF
    :
    :
</rdf:RDF>';

$fp = fopen('var://buff', 'r+');
fwrite($fp, $rss_data);
fclose($fp);

require_once "XML/RSS.php";
$url = 'var://buff';
$rss =& new XML_RSS($url);
$rss->parse();

echo "<ul>\n";
foreach ($rss->getItems() as $item) {
    $str = "<li><a href=\"" . $item['link'] . "\">" 
           . $item['title'] . "</a></li>\n";
    $str = mb_convert_encoding($str, "EUC-JP", "UTF-8");
    echo $str;
}
echo "</ul>\n";

?>

-- 
Youichi Iwakiri



PHP-users メーリングリストの案内