• 締切済み

正しいHTML表現に変えたい

wikipedia http://ja.wikipedia.org/wiki/%E6%97%A5%E6%9C%AC%E3%81%AE%E3%82%B5%E3%83%83%E3%82%AB%E3%83%BC%E9%81%B8%E6%89%8B%E4%B8%80%E8%A6%A7 http://ja.wikipedia.org/w/index.php?title=%E6%97%A5%E6%9C%AC%E3%81%AE%E3%82%B5%E3%83%83%E3%82%AB%E3%83%BC%E9%81%B8%E6%89%8B%E4%B8%80%E8%A6%A7&action=edit 編集画面に<table>の開始タグを記していないにも関わらず、表示上は ちゃんと<table>開始タグが記されるようになっています。 同じ事をしたいのですが、どういうコードを書けば実現出来るでしょうか? 対象となる文字列には他のタグもあったり、タグが入れ子構造であったりする 場合もあります。 strpos()を利用して位置関係を調べて整形するやり方やPEAR::XML_HTMLSaxを 利用してみたりなどしてみましたが、実現出来ません。 どなたかご教示下さい。

みんなの回答

  • utano_m
  • ベストアンサー率45% (14/31)
回答No.1

編集画面を良く見てください。 ちゃんと<table>開始タグが書かれていますね。 wikiの文法は1行ごとに完結だったはずなので 文字列リストを配列として読み取って1行づつ評価し 定められた文法句があればタグに変換してHTMLに出力する といった感じでしょう。 wikiのシステム自体はフリーでダウンロードできますので ソースコードを解析してみてはどうですか?

naktak
質問者

お礼

ありがとうございます。 ミッドフィルダー、ディフェンダーの直下には<table>が存在しません。 しかし終了タグはそれぞれ存在します。という不正な記述が成されています。 調べている最中にmediawikiという存在を知りましたが、ファイル数も多く どこで処理しているかも検討のつかないシステムを解析する時間はありません。 しかも確認した所、mediawikiというのではソースがそのままでは質問にある処理を行ってくれていませんでした。 一刻も早く対応したいのです。

関連するQ&A

専門家に質問してみよう