phpで下記のように、外部のURLを入れたとき、このページのパスが相対パスで書かれているため、画像などがうまく表示されません。

パスの参照先を指定することはできるのでしょうか?
<HTML>
<TITLE></TITLE>
</HEAD>
<BODY>
<?php
include 'http://www.gaibu.jp
?></BODY>
</HTML>

回答の条件
  • URL必須
  • 1人1回まで
  • 登録:2006/07/11 19:30:13
  • 終了:2006/07/18 19:35:03

回答(3件)

id:worldtravel No.1

worldtravel回答回数34ベストアンサー獲得回数42006/07/11 20:39:32

ポイント27pt

<HTML>

<TITLE></TITLE>

</HEAD>

<BODY>

include 'http://www.gaibu.jp';

?></BODY>

</HTML>


というように「';」が足らないだけと言うことではなくてですか?

間違っていたらポイント不要です

id:jcf01700

ごめんなさい、コピー&ペーストミスです。「';」が足らないせいではありません

2006/07/11 20:57:24
id:kidd-number5 No.2

kidd-number5回答回数117ベストアンサー獲得回数152006/07/11 22:16:23

ポイント27pt

たとえば取得先では

<img src="./dir/image.gif">

のようになっているのでしょう。

たとえばこの場合、取得したデータに対して全て

./ → http://www.gaibu.jp/

という置換を行えば、基本的には出力されるのではないでしょうか。

厳密にはもっと細かい正規表現などが必要になりますけど・・・。

../があった場合はそれなりに置換しないといけないですし。

ちなみにこの場合は、includeではなく、file関数かなんかで取って来て、その結果をreplace関数などで変換する必要があります。

ほかには

http://www.htmq.com/html/base.shtmlのように、headの間に

<base href="http://www.gaibu.jp">

をはさんでおくというのも良いかもしれません。

id:jcf01700

ありがとうございます

試してみます

2006/07/13 00:00:55
id:yoneto164 No.3

ヨネちゃん回答回数813ベストアンサー獲得回数942006/07/12 13:09:27

ポイント26pt
<?php
$url="http://www.gaibu.jp/";
$contens=file_get_contents($url);
$contens=eregi_replace("<body","<head><base href=\"$url\"></head><body",$contens);
echo $contens;
?>

これで大丈夫だと思います。

ただし、ソースは上記が全てです。

<HTML>等は読み込み先に記述してあるはずです。

http://acappella.cc/test/inq/

実行例

id:jcf01700

ありがとうございます

これも試してみます

2006/07/13 00:02:10

コメントはまだありません

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

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

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

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