プロが教える店舗&オフィスのセキュリティ対策術

外部ファイルを読み込んだhtmlをincludeしたいです。

ディレクトリの階層は、
index.php
style.css
/pic/picture.html
/pic/css/style1.css
/pic/css/style2.css
:
/pic/css/style13.css
/pic/js/jquery1.js
/pic/js/jquery2.js
:
/pic/js/jquery15.js
:
(画像などが他にもいっぱい)
となっています。
-----
picture.html内には
<link rel="stylesheet" type="text/css" href="css/style1.css">
<link rel="stylesheet" type="text/css" href="css/style2.css">
:
<link rel="stylesheet" type="text/css" href="css/style13.css">
<link rel="stylesheet" type="text/css" href="js/jquery1.js">
<link rel="stylesheet" type="text/css" href="js/jquery2.js">
:
<link rel="stylesheet" type="text/css" href="js/jquery15.js">
:
と書かれています。
----

このときindex.phpのbody内に
<?php
include('./picture.html');
?>
とした場合、相対パスによる記述なのでpicture.html以外のcssやjsは適用されませんよね。
しかし/pic/内にあるすべてのpicture.htmlに関係するファイルは非常に数が多いので、これらすべてをincludeするのは厳しいです。
すべての外部ファイルを読み込んだ状態のpicture.htmlをbody内に表示したいのですが、そんなことは可能でしょうか。

どなたかご教示ください。どうかよろしくお願いします。

A 回答 (1件)

picture.htmlというのがHTMLファイルならincludeは適しません。


内容を読み込んだあと文字列を書き換えればいんじゃないでしょか。

$body = file_get_contents('pic/picture.html');
$body = str_replace('href="css/', 'href="pic/css/', $body);//置換は適当
$body = str_replace('href="js/', 'href="pic/js/', $body);
print $body;
    • good
    • 0
この回答へのお礼

ありがとうございます。
無事にできました。

お礼日時:2011/08/23 20:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!