一般のファイル( file_get_contents で読み込めるテキストファイル ) の中に、{$GLOBALS['text1']} というような形で埋め込んだ部分に、他のファイルの内容を埋め込む処理です。 PHP として単純に実装するならば、require や include すれば良いのですが、この方法だと、どのような外部テキストでも利用可能です。 PHPのコード ▼ parse.php
<?php header( "Content-Type: text/html; Charset=utf-8" ); header( "Expires: Wed, 31 May 2000 14:59:58 GMT" ); // **************************************************************** // テキストファイルを読み込んで、そこに埋め込まれた php 変数を // 実際の値に置き換えます // **************************************************************** // 元となる表示部分 $view_text = file_get_contents( "parse.htm" ); // 埋め込むテキストを外部ファイルより取得し、 // どのようなスコープでも適用できるように、グローバル変数にセット $GLOBALS['text1'] = del_comment( file_get_contents( "text1.txt" ) ); $GLOBALS['text2'] = del_comment( file_get_contents( "text2.txt" ) ); $GLOBALS['description'] = del_comment( file_get_contents( "description.txt" ) ); // 展開処理 $view_text = str_replace('"', '\\"', $view_text ); // 上の処理は、以下の処理内で $view_text 内に " が存在するとまずいからです。 eval("\$view_text = \"$view_text\";"); // 出力( この PHP の画面表示処理 ) print $view_text; // **************************************************************** // コメント削除関数 // **************************************************************** function del_comment( $str ) { // ------------------------------------------------------ // 独自コメント削除 // ------------------------------------------------------ $str = mb_ereg_replace( "([^\n/]*)//[^\n]*\n", "\\1\n", $str ); return $str; } ?>
画面定義(PHPから読み込みます) ▼ parse.htm
<html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <title>記事構成のヒント</title> <style type="text/css"> * { font-family: "メイリオ", Meiryo, "MS Pゴシック", sans-serif; } pre { font-size: 18px; width:400px; padding: 50px; border: 1px solid #cccccc; white-space: pre; white-space: pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; white-space: -moz-pre-wrap; white-space: -hp-pre-wrap; word-wrap: break-word; } h1 { width: 500px; font-size: 12px; line-height: 30px; border-style: solid; border-width: 1px; border-color: #9192A3; height: 30px; padding-left: 10px; background: url(h1.png) repeat-x 0px 0px; } </style> </head> <body> <h1>プロローグ</h1> <pre> {$GLOBALS['text1']} </pre> <h1>ファーストコンタクト</h1> <pre> {$GLOBALS['text2']} </pre> <h1>※ 説明</h1> <pre> {$GLOBALS['description']} </pre> </body> </html>
実行ページ 画面定義 テキスト1 テキスト2 説明テキスト
|
【PHPの最新記事】
- PHP で cURL はオプションが全て。いろいろあるので、ちょっとまとめ【2014/7/31の記事】
- PHP : 画像を返す処理( readfile ) と画像を縮小する処理( GD )
- PHP における標準的なテスト用アップロードのテンプレート
- PHP : MySQL から JSON 文字列を返す自作(テスト用) API テンプレート
- ImageMagick を Windows(32ビット)の PHP で利用する
- PHPで、ベタベタな日付チェック。汎用的とも言うw
- PHP でカタカナのフリガナ入力のチェック
- TCPDF で罫線を引く
- フリーフォントを使って PHP 画像(GD)として埋め込むアクセスカウンターの DB 処理部分
- フリーフォントを使って PHP 画像(GD)として埋め込むアクセスカウンターの画像出力部分の作成
- PHP + GD : 四角形への DropShadow
- PHP : ログインとブラウザの当日日付データ
- hash_hmac は秘密鍵があるので、辞書の総当りとかでパスワードは解りませんから。パスワード抜かれるのは、フィッシングがスパイウェアか、本人が口に出した場合ですね。
- すごく当たり前の事なんですが、UTF-8N で保存されたテキストファイルをメモ帳で変更して保存したら先頭に EF BB BF という爆弾が仕掛けられるのでダメですよ
- 5秒毎にリロードする PHP ページ
- 実用的かどうかは置いておいて、修正画面の日付入力に jQuery のカレンダーを使用する
- PHPで使用する為にフォント(.TTC)の分解
- PHP : GD で Windows のビットマップを扱う
- PHPでサービス停止( extension=php_com_dotnet.dll )
- PHP : コマンドライン php(cli) で10進数と16進数の変換