解释一下上次博文中正则表达式用双引号括起来(“”)会产生错误的情况:大家看下面两个例子就明白了:
echo “\\\s”; ---经php解释后---\\s--经正则表达式引擎解释后\s
echo ‘\s’; ---经php解释后---\s--经正则表达式引擎解释后\s
因为上次 我写的是这个结构 “s” 所以就有错了; 如果想更详细的了解单双引号之间的差别请进入我的qq空间有转载的文章。
今天引入smarty模板类:
第一步:
到这个网站http://www.smarty.net下载一个smarty压缩包
解压到指定的目录,剪切libs文件夹到你的项目文件下:这里主要用到的就是这个类 smarty.class.php
第二步:配置你的smarty类,让它让在你的项目中运行:
ini.inc.php文件(配置smarty模板文件)
获取当前文件的绝对路径
define('SMARTY_PATH',dirname(__FILE__));
D:\Program Files\apache\htdocs\shopping_car
包含模板类的文件
include ("./libs/Smarty.class.php");创建一个模板类的对象
$tpl = new Smarty();
配置文件
定义左边界符
$tpl->left_delimiter = '<!--{';
定义右边界符
$tpl->right_delimiter = '}-->';
定义存放模板文件的绝对路径
$tpl->template_dir = SMARTY_PATH.'templates';
定义存放模板文件的绝对路径
这里就把这两个路径写成绝对的就ok了,别的路径就用相对的就ok了。
创建一个模板文件名称叫:yemian.tpl 在这个文件夹(templates)下面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> <!--{ $title }--> </title>
</head>
<style>
p{ font-size:200px;}
</style>
<body>
<p>
<!--{ $content }-->
</p>
</body>
</html>
创建一个XXX.php文件,引入配置文件
include "./init.inc.php";
$title = "smarty模板";
$content = "我是smarty模板";
$tpl->assign('title',$title);
$tpl->assign('content',$content);
//print_r($tpl->tpl_vars);
$tpl->display('yemian.tpl');
好了现在执行XXX.php这个文件就ok了。不过我没有把这些文件进行详细的划分,如果大家想详细的划分就要注意包含文件是的路径问题了!