HTML内に別ページのある要素のみを表示したいと考えています。

<iframe>で別ページを指定するだけでなく、その指定ページのタグやID、クラスを指定することで
一部分だけ抜き出すようなイメージで考えています。
方法はどのような方法でも構いません。よろしくお願い致します。

回答の条件
  • 1人3回まで
  • 登録:2008/02/02 12:37:09
  • 終了:2008/02/03 15:41:27

ベストアンサー

id:yoneto164 No.1

ヨネちゃん回答回数813ベストアンサー獲得回数942008/02/02 15:05:08

ポイント75pt

意図と違っていたら済みません。

HTMLファイルの拡張子をPHPにしても良いならの話なのですが、

<?php
require "外部ファイル名.txt";
?>

と記入することで、

その部分に外部ファイルのテキストを表示することができます。

http://nyx.pu1.net/reference/loadfile/require.html

id:dam-soya

申し訳ございません、説明不足でした。

HTMLファイルを指定し、そのHTMLファイル内の特定要素(id指定されたブロック要素など)を

別HTMLの指定箇所に抜き出す、という説明で伝わりますでしょうか?

まだ説明不足でであれば、コメント・トラックバックを許可状態にするので、

そちらからご質問頂ければ幸いです。

2008/02/02 15:13:49

その他の回答(1件)

id:yoneto164 No.1

ヨネちゃん回答回数813ベストアンサー獲得回数942008/02/02 15:05:08ここでベストアンサー

ポイント75pt

意図と違っていたら済みません。

HTMLファイルの拡張子をPHPにしても良いならの話なのですが、

<?php
require "外部ファイル名.txt";
?>

と記入することで、

その部分に外部ファイルのテキストを表示することができます。

http://nyx.pu1.net/reference/loadfile/require.html

id:dam-soya

申し訳ございません、説明不足でした。

HTMLファイルを指定し、そのHTMLファイル内の特定要素(id指定されたブロック要素など)を

別HTMLの指定箇所に抜き出す、という説明で伝わりますでしょうか?

まだ説明不足でであれば、コメント・トラックバックを許可状態にするので、

そちらからご質問頂ければ幸いです。

2008/02/02 15:13:49
id:KUROX No.2

KUROX回答回数3542ベストアンサー獲得回数1402008/02/03 00:31:13

ポイント60pt

■HTMLだけで実現するには

<a name="...">~</a>

http://www.tohoho-web.com/html/a.htm

このあたりを使って、iframe上の表示位置を調整するぐらい

表示位置を変えてるだけなので、その部分を抜き取ってるわけではない。

HTMLだけではこのあたりが限界だと思います。

■CGIを使う場合(PHP)

http://php.s3.to/tt/tt6.php

他に、コメントにあるようにJavaScriptなりFlashでも実現可能ですが

同じぐらいの手間はかかると思います。

id:dam-soya

PHPだと手軽に実現できそうですね。

手間とソースコードの可読性低下はどの方法でも似たようなものになると考えているので、そこまで重視していません。

ただ、今のところ自身の環境を考えるとJavaScriptかPHPが使いやすいかなと思います。

2008/02/03 00:46:02
  • id:pingu98
    JavaScriptなりPHPなりFlashなりで普通にできますよ。
  • id:yoneto164
    読み込むHTMLが

    <html>
    <head>
    </head>
    <body>
    <div id="no">456546</div>
    <div id="yes">789789</div>
    <div id="yes">987987</div>
    <div id="no">456456</div>
    </body>
    </html>

    であったとすればの話ですが、
    id="yes"を読み込むとすれば、
    PHPに

    <html>
    <head>
    </head>
    <body>
    <div>123123</div>
    <?php
    $lines = file ('include.html');
    foreach ($lines as $l) {
    if (strpos($l, 'yes') != false) {
    // $l = eregi_replace(".*<div id=\"yes\">", "", $l);
    // $l = eregi_replace("<div>.*", "", $l);
    $output .= $l;
    }
    }
    echo $output;
    ?>
    <div>123123</div>
    </body>
    </html>

    などと記述すれば可能ですよ。
  • id:yoneto164
    あ、済みません。
    コメントアウト「//」のところは、
    必要でしたら色々工夫してみてください。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません