人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPで、HTMLよりXMLを生成する方法を探しています。
条件としては、検索結果ページの様に回帰的にグルグル並んでいるHTMLより、データの所得を行いたいと考えています。
なお、PHP5でもOKです。また、英語ページでもokです。よろしくお願いします。

●質問者: naguro
●カテゴリ:コンピュータ
✍キーワード:HTML PHP XML グルグル データ
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● ito-yu
●20ポイント

http://www.hatena.ne.jp/1122080909

人力検索はてな - 【ブログ.txt => $array PHP】(500pt) ブログのエクスポートファイルを、連想配列に取り込むスクリプト書ける方、いらっしゃいますか? 【要望】 ↓このファイルを読み込..

元のHTMLを見ないとなんとも言えないですが、URLの質問の回答は参考になりませんか?

ポイントは、区切り文字を探すこと、mb_eregで抽出する、というところかな。

具体的なHTMLを出してもらえれば、もっと適切な回答ができると思います。

配列に取り込めば、XMLに加工するのは簡単ですよね。

◎質問者からの返答

うーん。。。やはり教えてもらったように、原始的にやるしかないのかしら。。


2 ● ito-yu
●20ポイント

http://www.hawk.34sp.com/stdpls/php/pear_xml_tree.html

Hawk's W3 Laboratory : PHP : PEAR :: XML_Treeを使う

読み込みたいHTMLがXHTML準拠であれば、XMLをパースする関数を利用してツリーとして取り込んでから、改めてはき出すのが良いと思います。URLのPEAR::XML_Treeとか

http://pecl.php.net/package/html_parse

PECL :: Package :: html_parse

PECLのhtml_parseは、実用レベルかわかりませんが…

http://php.s3.to/man/ref.tidy.html

Tidy関数

Tidy関数でもいいかも

◎質問者からの返答

ありがとう!

研究してみますね。


3 ● EPP
●20ポイント

http://www18.tok2.com/home/koumori27/xml/pxml/pxml5.html

XMLパーサ(PHP版)入門

外していたらポイント不要です。


PHP4(正確には3.0.6)以降で標準で用意されている、xml_parser関数を使うのはどうでしょうか?


こちらのURLの方法では、XML(HTMLも含まれます)を上から順に解読して、開始タグ、終了タグ、タグ内のテキスト毎に、イベントハンドラが呼び出されます。

XMLを作る(もしくはXMLを作るための配列を作りこむ)イベントハンドラを作ってやる必要がありますが、単にHTMLを正規表現でマッチングさせるよりは良い方法だと思います。

http://phpspot.net/php/pg%8AO%95%94%82q%82r%82r%82%F0%93%C7%82%D...

外部RSSを読み込み - phpspot

こちらの方法ではxml_parse_into_struct関数を使用して、XML(HTMLも含まれます)を解読して連想配列にパース結果を格納します。

パース結果から求めるXMLを出力する処理を書く必要があります。


どちらにせよ全く処理を書かずにお手軽にとは行きません。

◎質問者からの返答

ありがとう。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ