PHP中嵌入HTML有多种方式,这里列出几种常用方式:
PHP代码输出HTML代码
HTML代码中嵌入PHP
PHP中使用include ()函数引用Html文件;
示例HTML代码(test.html)
<body><p>我是一段Html代码</p>
</body>
方式一:
<?php$int=rand(0,1)
if($int==1){
echo "<p>取到的随机数是1</p>"
}else{
echo "<p>取到的随机数不是1</p>"
}
?>
方法二:
修改test.html为test.php文件,直接写PHP代码
<body><p>我是一段Html代码</p>
</body>
<?php
echo "<p>我是由PHP输出的HTML代码</p>"
?>
注:如果想要输出大段HTML,请参考下面代码:
<body><p>我是一段Html代码</p>
</body>
<?php
echo <<<END
<p>我是由PHP输出的HTML代码</p>
<p>我是由PHP输出的第二行代码</p>
END
?>
注:标记符号必须顶头写
方式三:
我们直接引用HTML代码进PHP中。
<?phpinclude ("test.html")
?>
PHP模板实现静态化非常方便,比如安装和使用PHP Smarty实现网站静态化。
在使用Smarty的情况下,也可以实现页面静态化。下面先简单说一下使用Smarty时通常动态读取的做法。
一般分这几步:
1、通过URL传递一个参数(ID)
2、然后根据此ID查询数据库
3、取得数据后根据需要修改显示内容
4、assign需要显示的数据
5、display模板文件。
Smarty静态化过程只需要在上述过程中添加两个步骤。
第一:在1之前使用 ob_start() 打开缓冲区。
第二:在5之后使用 ob_get_contents() 获取内存未输出内容,然后使用fwrite()将内容写入目标html文件。
根据上述描述,此过程是在网站前台实现的,而内容管理(添加、修改、删除)通常是在后台进行,为了能有效利用上述过程,可以使用一点小手段,那就是Header()。具体过程是这样的:在添加、修改程序完成之后,使用Header() 跳到前台读取,这样可以实现页面HTML化,然后在生成html后再跳回后台管理侧,而这两个跳转过程是不可见的。
php中htmlspecialchars函数能把<、>转义成可以在html页面直接显示的形式(<>),比如
$str='<a href="a.html">aaa</a>'
echo htmlspecialchars($str)就是直接显示代码了。
更详细的用法去查阅htmlspecialchars说明,可以选择性地转义引号