下記の「hoge.html」をfile_get_contentsで読み込み、
「hoge.php」にfwriteするという内容で下記の通りスクリプトを作りました。
hoge.html
---------------
<html>
<body>
</body>
</html>
---------------
作成したスクリプト
---------------
<?php
$html = file_get_contents('hoge.html');
$fp = fopen('hoge.php' , 'w');
fwrite($fp,$html);
fclose($fp);
?>
---------------
ここからが問題なのですが、
「hoge.php」に出力されるスクリプトの「body」と「/body」の間に、
別ファイルである「hatena.php」をincludeさせたいです。
つまり、「hatena.php」の内容を変更すると、
それが「hoge.php」にも自動的に反映されるようにしたいのです。
どのようにしたらよいのでしょうか?
Vista、PHP5、Firefoxという環境でやっています。
質問が不足してたり、不明瞭であったら、その旨お知らせください。
以上、よろしくお願いします。
こういう事でしょうか?
違っていたらすいません。
<html>
<body>
#hatena#
</body>
</html>
<?php
$html = file_get_contents('hoge.html');
$hatena = file_get_contents('hatena.php');
$html = ereg_replace("#hatena#",$hatena);
$fp = fopen('hoge.php' , 'w');
fwrite($fp,$html);
fclose($fp);
?>
ご回答ありがとうございます。
いただいたスクリプトをそのままコピペして使ってみましたが、
「Warning: Wrong parameter count for ereg_replace() in (中略) on line 7」というエラーがでました。
あと、私の質問が悪かったので、下記の通り追加修正させていただきます。
簡単のために<body>と</body>の間を空白にしておりますが、
この間にはいろいろなことが書かれているという前提でお願いします。
①「hoge.php」をfwrite。
②「hatena.php」を変更。
③ブラウザでの表示上、「hoge.php」が変更される。
①の後に再びfwriteしなくても③が変更されているというようにしたいのです。
実際には「hoge.php」のようなファイルがたくさんあって、
それらの一部分の変更だけを「hatena.php」で一元管理したいのです。
別の表現をするならCSSで一元管理するみたいにイメージしていただけると幸いです。
また、特定のファイルの一部分だけをincludeさせることはできるでしょうか?
例えば、「hatena.php」内のユーザー定義関数「jinnriki()」をincludeさせるということです。
本当にそんな都合のよいようにできるのかなぁと思いつつ質問しています。
不可能ならこちらは実現できなくてもかまいません。
目的がかなうならいずれかのスクリプトを大胆に変更していただいてもかまいません。
ひきつづき皆様からのご回答をお待ちしております。