• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:■ホームページ(HTML)の整形/変換)

ホームページの整形/変換方法とは?

このQ&Aのポイント
  • インターネット上のホームページを自分用に整形して印刷する方法について教えてください。
  • プログラムやプラットフォーム環境を使って、インターネット上のホームページを直接アクセスして印刷する方法を知りたいです。
  • 具体的な手順やプログラム言語のおすすめなど、詳しいアドバイスをお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1416)
回答No.3

先のテキスト解釈は美しくなかったですね。 もし、テーブルタグにIDがあるなら次のように取るのがオシャレかな。 例えば<TABLE ID='A'>の場合 doc.getElementById("A").outerHTML

trueimage
質問者

補足

Answer No1 に続き、No2, No3 ととても参考になります。 ありがとうございます!! テーブルタグにIDを付けておくのがお洒落ですね。 今回は既存のURLのHTMLなので、ID が付けられないのでガリガリとsearchとsubstringメソッドで参照するしかないと思っています。 複雑な処理になりそうなので、言語は、JavaScript か Java + GWT (=> JavaScript) にしようか悩んでいます。

その他の回答 (2)

  • nda23
  • ベストアンサー率54% (777/1416)
回答No.2

HTMLテキストから例えばTABLEタグを見つけるには var i = text.search(/<table/i); ※indexOfだと大文字小文字を区別します。searchの方は正規表現に"i"が付いているので、大文字小文字を区別しません。 同様にTABLEタグの終わりを見つけるには var j = text.search(/<\/table/i); ※"/"が正規表現の区切り文字にならないよう\を付けます。 後はsubstringメソッド等で切り分ければよいかと思います。

  • nda23
  • ベストアンサー率54% (777/1416)
回答No.1

「やりたいこと」がよく分からないのと、実行環境が不明なので何とも言えませんが、あるURLのページを開いて、中身のHTML文を取り出すWindows直下で稼動するプログラムなら、以下のようにすれば可能です。 JavaScriptの例 //InternetExplorerを起動する var ie = new ActiveXObject("InternetExplorer.Application"); //URLを開く ie.Navigate2("http://www.hoge.com/top/page1"); //ドキュメントの取得 var doc; while( ie.ReadyState != 4 ) {   WScript.Sleep(1); } doc = ie.Document; //チェック try {   var x = doc.mimeType; } catch(e) {   //エラーなので、画面を可視にして終了   ie.Visible = true;   WScript.Quit(); } //テキストを取得する var txt = doc.body.innerHTML; //IEを終了する ie.Quit(); この後、取り出したテキストを自分用に編集すればよいでしょう。 実際には2ヶ所のURLを拾うので、IE終了前にもう一度、Navigate2メソッド以降を実施して、次のHTMLテキストを取得します。 出来上がりはファイルに保存するか、IEでブランク画面を作り、そこへ書き込んで表示することもできます。

trueimage
質問者

補足

ご回答いただけて嬉しいです。 実行環境について書かなくて失礼しました。 ■Windows環境での実行を考えています。 (あるいは、サーバー上でのCGI(Perl)でも簡単であればどちらでも良いです)。 JavaScriptの例を詳しく書いていただけて大変助かります。 お書きの通り、「URLを開く」ことをやりたかったです。 取得のテキスト(HTML)の中のプログラムで、ガリガリ直接パースする方法でも良いのですが、HTML の中のテーブル・タグを認識する方法があればもっと助かるのですが、XML でないので無理なんでしょうね。 ありがとうございました。

関連するQ&A