こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

PHPでHTMLファイル置換 プログラムについて

以下のプログラムを書きました。

あるHTMLファイルをテンプレートとし、
中に記述している置換文字列を動的に
表示させるというものです。
しかしなかなか表示されません。

どこがおかしいのでしょうか?

--template.html--
<html><head><title>test</title></head>
<body>
表題 他いろいろ
<!-- data replace -->
フッター いろいろ
</body></html>

--index.php--
$page_lines = File("template.html");
$all_lines='';
foreach( $page_lines as $line ){
 $all_lines .= $line;
}
$str = "<div>出力用データいろいろ</div>";
print preg_replace(/<!-- data replace -->/,$str, $all_lines);

以上です。

よろしくお願いいたします。

投稿日時 - 2006-08-08 14:09:42

QNo.2327140

すぐに回答ほしいです

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

print preg_replace(/<!-- data replace -->/,$str, $all_lines);



print str_replace('<!-- data replace -->',$str, $all_lines);

でどうですか?

このような置換には、pregを使わなくていいと思います。

投稿日時 - 2006-08-08 16:16:47

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

差し替え部分が固定的に決まっているのであれば、preg_replaceじゃなくて、preg_replace使うほうが良いでしょう


しかし、コメントタグを差し替えとして使うと、思わぬ誤作動というか、本来はコメントタグで出力させたい場合に対応できなくなりますので、私が使う方法としては
例えば
<title>%TITLE%</title>
などのように差し替え部分を % で囲っておいて、 %TITLE% 部分をreplaceさせる方法です


webの構造にもよりますが、静的なHTMLを生成して保存させておく事も出来ますので、データを頻繁に更新しないページなどはそこそこ、速度が上がります

あ、でも、テンプレートを使って静的HTMLを保存させるのであれば、保存先のディレクトリのパーミッションを777とかにする必要ありますけどね

投稿日時 - 2006-08-08 22:13:58

あなたにオススメの質問