class EasyTemplate // 这是一个简单的模板类
{
var $error = "";
var $tags = array();
var $template_file = "";
function EasyTemplate($template_file) // 构造函数,要求参数为一文件名
{
if(!file_exists($template_file)) // 检查文件是否存在
{
$this->error = "The template file $template_file does not exist."; // 设置错误信息
}
$this->template_file = $template_file; // 保存文件名
}
function assign($tag, $value) // 设置待替换的标记和替换内容
{
if(empty($tag)) // 若标记为空
{
$this->error = "Tag name is empty"; // 设置错误信息
return(false); // 返回假
}
$this->tags[$tag] = $value; // 保存标记和值
return(true); // 返回真
}
function easy_parse() // 工作函数,由easy_print()调用
{
$contents = @implode("", (@file($this->template_file))); // 读取文件并连接成串
while(list($key, $value) = each($this->tags)) // 取出替换标记和值
{
$tag = '{'.$key.'}'; // 加工标记成 {xxxx}形式
if(!strstr($contents, $tag)) // 如标记不在串中
{
$this->error = "Tag $tag not found in template ".$this->template_file."."; // 设置错误信息
return(false); // 返回假
}
$contents = str_replace($tag, $value, $contents); // 替换标记内容
}
return($contents); // 返回替换后的串
}
function easy_print() // 替换并输出
{
$ret = $this->easy_parse(); // 调用工作函数
if($ret == false) // 若失败
{
return(false); // 返回假
}
print($ret); // 输出
return(true); // 返回真
}
}例1:
$p = new EasyTemplate("text.txt"); // 实例化类
$p->easy_print(); // 原样输出text.txt例2:
$p = new EasyTemplate("text.txt"); // 实例化类
$p->assign("pppp", "1234567"); // 假定text.txt中有{pppp}这样的串
$p->easy_print(); // 输出text.txt并将其中的{pppp}替换成1234567这个类的容错能力较差,若文件中没有要替换的标记则无输出结果
{
var $error = "";
var $tags = array();
var $template_file = "";
function EasyTemplate($template_file) // 构造函数,要求参数为一文件名
{
if(!file_exists($template_file)) // 检查文件是否存在
{
$this->error = "The template file $template_file does not exist."; // 设置错误信息
}
$this->template_file = $template_file; // 保存文件名
}
function assign($tag, $value) // 设置待替换的标记和替换内容
{
if(empty($tag)) // 若标记为空
{
$this->error = "Tag name is empty"; // 设置错误信息
return(false); // 返回假
}
$this->tags[$tag] = $value; // 保存标记和值
return(true); // 返回真
}
function easy_parse() // 工作函数,由easy_print()调用
{
$contents = @implode("", (@file($this->template_file))); // 读取文件并连接成串
while(list($key, $value) = each($this->tags)) // 取出替换标记和值
{
$tag = '{'.$key.'}'; // 加工标记成 {xxxx}形式
if(!strstr($contents, $tag)) // 如标记不在串中
{
$this->error = "Tag $tag not found in template ".$this->template_file."."; // 设置错误信息
return(false); // 返回假
}
$contents = str_replace($tag, $value, $contents); // 替换标记内容
}
return($contents); // 返回替换后的串
}
function easy_print() // 替换并输出
{
$ret = $this->easy_parse(); // 调用工作函数
if($ret == false) // 若失败
{
return(false); // 返回假
}
print($ret); // 输出
return(true); // 返回真
}
}例1:
$p = new EasyTemplate("text.txt"); // 实例化类
$p->easy_print(); // 原样输出text.txt例2:
$p = new EasyTemplate("text.txt"); // 实例化类
$p->assign("pppp", "1234567"); // 假定text.txt中有{pppp}这样的串
$p->easy_print(); // 输出text.txt并将其中的{pppp}替换成1234567这个类的容错能力较差,若文件中没有要替换的标记则无输出结果
如果没有替换标记不是
return(false); // 返回假了马?你想表达什么意思
不过我还想问个问题
在html里{}这个标记有什么用(如:{new1})
在php里{}又是什么作用,
如果在html里加了这个{},那我还应该添加什么代码,
当然还有在php里。
我这里先谢过了。