※ ChatGPTを利用し、要約された質問です(原文:xmlの表示が良くわかりません。)
XMLの表示がわかりません
このQ&Aのポイント
XMLの表示方法や必要な拡張モジュールの設定方法について初心者向けのHPや参考書を探しています。
また、gooや朝日で提供されているRSSを表示させるためのコードを教えていただければと思います。
現在の環境はWindowsXP、Apache2.0.52、PHP4.3.9ですが、うまく表示することができません。PEARや拡張モジュールの設定方法を教えていただけると助かります。
環境は
windowsxp
apache2.0.52
php4.3.9です。
http://news.goo.ne.jp/news/topics/
や
http://www.asahi.com/
で提供してくれているrssを自分のhpに表示したいのですが、まったくうまくいきません。
http://php.s3.to/(レッツPHP)で提供してくれているrssちぇっかーを利用してみようと思ったのですが、pearの設定や拡張モジュールの設定の仕方が悪いのか、まったく活用できません。
xmlをhtmlに表示させるコードと同じフォルダにPEAR.phpとparser.php,RSS.phpを入れてみましたがだめでした。
質問は、xmlを使用する際のPEARと必要な拡張モジュールの設定の仕方から、活用の仕方が初心者でもわかるように書かれているHPや、参考書はありませんでしょうか。
(一応、拡張モジュールについては、php.iniのなかの
mb_string.dllと、php_domxml.dllの前の;は消したのですが、まずxml自体localの環境で表示してくれません。←自分で作った簡単なxmlなら表示してくれるのですが)
また、もしよければ、上記のgooや朝日で提供してくれているrssを表示させられるコードを教えてはいただけませんでしょうか。(ヒントだけでもかまいません。)
とても長くなってしまい、また、ピントのずれたことを書いているかもしれませんが、ほとほと参っています。どうかよろしくお願いします。
補足
回答ありがとうございます。 上記のサイト参考にさせていただきます^^ ところで、実はあちこち探し回ってて下記のサイトを見つけて、加工することができました。 (せっかく教えていただいたのに、角が立ちそうなのですが、その後疑問が出てきたのです。後でまた、質問を設けても同じことになってしまいそうなので、長くなってしまいますが、ここでもう一度、質問させてください。) http://works.xrea.jp/headline.php それで、上のサイトのコードを参考にして、xmlから取り組んだデータを配列に入れなおすクラスを作ってみたのですけれども、mb_convert_encoding関数のラップ関数がうまく作動してくれません。 ちなみに全コードは下記のとおりです。 functionの中で指定すれば、うまくいくのですが、 これをvarとかで外から取り組むことにすると、まったく機能しないで文字化けしてしまいます。 ここさえできれば、このクラスでエンコードと、rssを読み込みたいサイトのurlを取り組めば、使い回しができそうなのです。 あと、いろんなサイトでつかられてるxmlのタグ名をいれて、何も格納されてない配列をとってしまうことにすれば、割合自由に活用できそうなのです。 /*使用方法 $val=new cls_rss('rssのurl','rss_fetch.incを格納している場所/例rss/rss/rss_fetch.inc'); $rss_arr=$val->rss_arr(); print_r($rss_arr); */ class cls_rss{ var $url,$req; function cls_rss($url,$req){ $this->url=$url; $this->req=$req; } function rss_arr(){ function _cv($str){ $str=mb_convert_encoding($str,'shift-jis←ここに格納したいのです','auto'); return $str; } require_once $this->req; $rss=fetch_rss($this->url); $title=_cv($rss->channel['title']); $title_link=_cv($rss->channel['link']); $rss_arr[title]=$title; $rss_arr[title_link]=$title_link; foreach($rss->items as $i=>$item){ $itm_title[$i]=_cv($item['title']); $itm_url[$i]=_cv($item['link']); $itm_des[$i]=_cv($item['description']); $itm_pub[$i]=_cv($item['dc']['publisher']); $itm_date[$i]=_cv($item['dc']['date']); $itm_date[$i]=ereg_replace("[-]","/",$itm_date[$i]); $itm_date[$i]=ereg_replace("[T]"," ",$itm_date[$i]); $last=strchr($itm_date[$i],"+"); $itm_date[$i]=str_replace($last,"",$itm_date[$i]); $rss_arr[itm_title][$i]=$itm_title[$i]; $rss_arr[itm_url][$i]=$itm_url[$i]; $rss_arr[itm_des][$i]=$itm_des[$i]; $rss_arr[itm_pub][$i]=$itm_pub[$i]; $rss_arr[itm_date][$i]=$itm_date[$i]; } return $rss_arr; } }