この記事では主に PHP が HTML を生成する方法について紹介します。興味のある方はぜひ参考にしてください。
現在、インターネット上の多くの Web サイトのニュース リリース システムでは、動的サーバー テクノロジを使用して静的 HTML を生成しています。この利点は、第一に、サーバーの負荷を軽減できること、第二に、静的な HTML ページが生成されるためです。彼らのウェブサイトが検索エンジンに見つかる可能性が高くなります。筆者の Web サイトは、かつて動的テクノロジである PHP を使用して、HTML 静的ページを生成することを原則としていました。このアプローチのアイデアについて話しましょう。この記事は、PHP + MYSQL データベース操作、SQL ステートメント、Web デザインの基本的な知識を持っている友人に適しています。あなたがゼロから学習している友人の場合は、まずしっかりとした基礎を築いてください。ここで下を見る必要はありません。上記の条件を満たしている場合は、おめでとうございます。読み続けてください。ただし、実際に構築する前に以下の準備が必要です。
1. PHP のローカル デバッグ機能があります
WINDOWS XP オペレーティング システムでは、Huajun Software Park などのインターネットから PHP+MYSQL+APHCHE サーバー パッケージをダウンロードし、そこで検索することをお勧めします。ダウンロードできます。ダウンロード後、これをデフォルトでインストールすると、PHP をローカルでテストする機能が得られ、手動で設定する手間が省けます。これは最初のステップにすぎません。
2. ニュースリリースシステムの機能を考える
ホームページ上のニュースリリースはバックグラウンドで更新されることが多く、バックグラウンドでの更新はデータの追加、編集、削除などの基本的な機能にすぎません。ここでは、Web デザイン ソフトウェアを使用して、必要なバックエンド インターフェイスを構築できます。もちろん、その機能を実現するために PHP が使用されます。このステップでは、まずニュースリリースシステムに備えるべき機能を考えることをお勧めします。ここでは、PHP を使用してデータを追加、編集、削除する方法については繰り返しません。これに基づいて静的テクノロジを生成する方法に焦点を当てているからです。
3. PHP による HTML 生成の技術原則。
ははは。フェイはたくさん言いましたが、ついに話す時が来ました。実際、この原則は複雑ではありません。一般的に言えば、PHP のデータ構文を置き換える応用です。 OK、簡単な例について話して、それを段階的に分析してみましょう。あなたは賢いので、それを明確に理解できると思います。ここでは、その方法を詳しく説明します。
(1) MYSQL で新しいデータベースを作成し、database という名前を付けます (カスタマイズ可能)、新しいテーブルを作成して、news という名前を付けます (ニュースリリースなので、覚えやすく、わかりやすい名前を付けてください)カスタマイズ済み)、次のフィールド名を作成します:
id (自動インクリメント、これがキー、タイプ: INT)
title (名前が示すように、ニュース タイトル、タイプは TEXT にすることができます)
content (ニュース コンテンツ、 typeはTEXTでも可)
path (HTMLファイルのパス、typeはTEXTでも可)
(2) conn.php
を作成します データベースに接続するためのPHPファイルです データを接続するためのステートメントを別途記述できます。将来、データベースに接続する必要がある複数のファイルがこのファイルを直接参照する可能性があります。
(3) ニュースを追加するためのフォーム add.form をデザインします。 簡単なソースコードは次のとおりです:
<form method=”post” action=”add.php”> //提交至 add.php 新闻标题:<input type=”text” name=”title” size=”20”><br> 新闻内容:<textarea name=”content” cols=”10” rows=”25”></textarea><br> <input type=”submit” name=”提交”> </form>
(4) HTML テンプレートを作成し、model.htm として保存し、add.php を同じ内に置くことができます。ディレクトリ。
サンプル ソース コード:
<html> <body> 此新闻的标题:{title} 此新闻的内容:{content} </body> </html>
{ } 中括弧内の内容は置き換えられる内容です。静的テンプレート全体のデザインは独自のアイデアに基づいて作成できますが、上記の { } 内の置き換えられる内容を含める必要があります。 title}, {content}; Kaka ~ 簡単に言うと、見栄えの良いニュース テンプレートをデザインした後、必要な箇所に置き換えるタグ ({title}、{content} など) を配置するだけです。
(5) add.php ソースコードの詳細説明
<?php require_once(“conn.php”); //引用conn.php,连接数据库 $title=$_POST[“title”]; $content=$_POST[“content”]; //获得表单变量 //以下建立一文本文档,其值自动计数 $countfile="count.txt"; if(!file_exists($countfile)) { fopen($countfile,"w"); //如果此文件不存在,则自动建立一个 } $fp=fopen($countfile,"r"); $num=fgets($fp,20); $num=$num+1; //每次其值自动加一 fclose($fp); $fp=fopen($countfile,"w"); fwrite($fp,$num); //更新其值 fclose($fp); //利用上面自动计数的值获得HTML的路径$path $houzui=”.html”; $path=$num.$houzui; //这样形成的路径是自动增长的,如1.html,2.html,3.html……….添加一条新闻便自动加上1 //以下用SQL语句添加数据至表 news $sql=”insert into news (title,content,path) values (‘”.$title.”’,’”.$content.”’,’”.$path.”’)”; $query=mysql_query($sql); //以下为关键之处,把从表单获得的数据替换模板中的{title},{content}标记 $fp=fopen(“model.htm”,”r”) //只读打开模板 $str=fread($fp,filesize(“mode.htm”));//读取模板中内容 $str=str_replace(“{title}”,$title,$str); $str=str_replace(“{content}”,$content,$str);//替换内容 fclose($fp); $handle=fopen($path,”w”); //写入方式打开新闻路径 fwrite($handle,$str); //把刚才替换的内容写进生成的HTML文件 fclose($handle); //收尾工作: echo “<a href=$path target=_blank>查看刚才添加的新闻</a>”; ?>
OK、HTML を生成するサンプル ソース コード全体はここにあります。重要なのは置換メソッドを使用することです。
$str=str_replace("{replaced content}",$replaced content,$str);
したがって、上記のアプローチを要約すると、まずニュース テンプレートを設計し、置換する必要があるコンテンツを { } に配置します。テンプレート内の対応する位置を指定し、フォームを設計してから、最終的なフォーム ハンドラーを作成します。フォームから取得した変数をテンプレート内の対応するコンテンツに置き換えるだけで、変更が必要な場合は毎回異なる HTML が生成されます。 HTML のコンテンツも同様です。変更されたフォームのコンテンツを取得したら、まず update ステートメントでデータベースを更新し、次にテンプレート内のコンテンツを置き換えます。削除する場合は、まず、削除するコンテンツを削除します。 table を削除し、unlink($path) を使用して HTML の物理ファイルを削除するだけです。
関連する推奨事項:
php htmlspecialchars サンプルコードの詳細な説明
php HtmlReplace入力フィルタリングセキュリティ関数サンプルコード
php html_entity_decode()関数に関するおすすめ記事10選
以上がPHP が HTML を生成する方法に関するアイデアの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。