网友原创的PHP模板类代码

代码如下:

<?php
class Lightpage_Template {

var $Tpl_Header;
var $Tpl_Footer;
var $Tpl_Parsing;
var $Tpl_Template;
var $Tpl_Dirname;

var $Tpl_Parse_String;
var $Tpl_Parse_Array;

var $Tpl_Result;

function __construct() {
$this->Tpl_Header = NULL;
$this->Tpl_Footer = NULL;
$this->Tpl_Parsing = array();
$this->Tpl_Template = 'list.html';
$this->Tpl_ToParse = NULL;

$this->Tpl_Parse_String = array();
$this->Tpl_Parse_Array = array();

$this->Tpl_Result = NULL;
return true;
}

function Parse_Template() {
$this->Tpl_Parse_String = array();
$this->Tpl_Parse_Array = array();
if($this->Tpl_Header!=NULL) { array_push($this->Tpl_Parse_String,$this->Tpl_Header);array_push($this->Tpl_Parse_Array,'{header}'); }
if($this->Tpl_Footer!=NULL) { array_push($this->Tpl_Parse_String,$this->Tpl_Footer);array_push($this->Tpl_Parse_Array,'{footer}'); }
if(count($this->Tpl_Parsing)!=1) {
foreach($this->Tpl_Parsing as $Tpl_Key => $Tpl_Value) {
array_push($this->Tpl_Parse_String,$Tpl_Value);
array_push($this->Tpl_Parse_Array,'{'.$Tpl_Key.'}');
}
}
if($this->Tpl_Template!=NULL && $this->Tpl_ToParse==NULL) {
$this->Tpl_ToParse = file_get_contents(root.'./Templates/'.$this->Tpl_Template);
}
$this->Tpl_Result = str_replace($this->Tpl_Parse_Array,$this->Tpl_Parse_String,$this->Tpl_ToParse);
return $this->Tpl_Result;
}

}
?>

php模板用法:


代码如下:

$Mdl = new Lightpage_Template();
$Mdl->Tpl_Header = 'zzz';
$Mdl->Tpl_Footer = '';
$Mdl->Tpl_Parsing = '';
$Mdl->Tpl_Template = 'list.html';
echo $Mdl->Parse_Template();

(0)

相关推荐

  • thinkphp模板输出技巧汇总

    本文实例总结了thinkphp模板输出技巧.分享给大家供大家参考.具体总结如下: 一.变量输出(重点) 1.标量输出: 复制代码 代码如下: {$name} 2.数组输出 复制代码 代码如下: {$name[0]}  {$name['k2']}  {$name.k1} 3.对象输出 复制代码 代码如下: {$name:k}//调用这个对象的成员属性K  {$name->k}//传统调用K方法 二.系统变量 复制代码 代码如下: {$Think.get.id}//在模板中调用系统变量,得到提供的i

  • PHP模板解析类实例

    本文实例讲述了PHP模板解析类.分享给大家供大家参考.具体如下: <?php class template { private $vars = array(); private $conf = ''; private $tpl_name = 'index'; //如果模板不存在 会查找当前 controller默认index模板 private $tpl_suffix = '.html';//如果CONFIG没配置默认后缀 则显示 private $tpl_compile_suffix= '.t

  • 用来解析.htgroup文件的PHP类

    .htgroup 文件示例: admin: user2 editor: user1 user3 writer: user3 复制代码 代码如下: class Htgroup { private $file = ''; private function write($groups = array()) { $str = ''; foreach ($groups as $group => $users) { $users_str = ''; foreach ($users as $user) { i

  • PHP解析html类库simple_html_dom的转码bug

    这几天有在用simple_html_dom抓一些文章.不同网站的编码在国内基本上是gbk gb2312 utf-8.而以gb2312和utf-8居多. 我这一版的simple_html_dom有一个方法 convert_text 是这个样子的. 复制代码 代码如下: // PaperG - Function to convert the text from one character set to another if the two sets are not the same. functio

  • 解析php类的注册与自动加载

    工程目录如下: 1.将需要注册的类放在一个数组中 复制代码 代码如下: <?phpfinal class Utils {    private function __construct() {    }    public static function getClasses($pre_path = '/') {        $classes = array(                'DBConfig' => $pre_path.'DBConfig/DBConfig.php',   

  • 用来解析.htpasswd文件的PHP类

    .htpasswd 文件示例: user1:{SHA}kGPaD671VNU0OU5lqLiN/h6Q6ac= user2:{SHA}npMqPEX3kPQTo+x/+ZckHDrIcQI= user3:{SHA}q1Fh2LTUjjkncp11m0M9WUH5Zrw= 复制代码 代码如下: class Htpasswd { private $file = ''; private $salt = 'AynlJ2H.74VEfI^BZElc-Vb6G0ezE9a55-Wj'; private fu

  • PHP模板引擎smarty详细介绍

    <?php /* 一.什么是smarty? smarty是一个使用PHP写出来的模板PHP模板引擎,它提供了逻辑与外在内容的分离,简单的讲, 目的就是要使用PHP程序员同美工分离,使用的程序员改变程序的逻辑内容不会影响到美工的页面设计,美工重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要. 二.smarty优点: 1. 速度:采用smarty编写的程序可以获得最大速度的提高,这一点是相对于其它的模板引擎技术而言的. 2. 编译型:采用smarty编写的程序在运行时要编译成一

  • 解析PHP汉字转换拼音的类

    网络上类似的代码大多只能在gb2312编码下使用,下面这个类同时能在utf-8编码下将汉字转换为拼音.具体的代码和用法如下: 复制代码 代码如下: <?phpfunction Pinyin($_String, $_Code='gb2312'){$_DataKey = "a|ai|an|ang|ao|ba|bai|ban|bang|bao|bei|ben|beng|bi|bian|biao|bie|bin|bing|bo|bu|ca|cai|can|cang|cao|ce|ceng|cha&

  • php Http_Template_IT类库进行模板替换

    两个简单模板: 复制代码 代码如下: <html> <head> <title>{title}</title> </head> <body> <font color=red size=6><center>{title}</center></font> <hr> <pre>{body}</pre> </body> </html>

  • 网友原创的PHP模板类代码

    复制代码 代码如下: <?php class Lightpage_Template { var $Tpl_Header; var $Tpl_Footer; var $Tpl_Parsing; var $Tpl_Template; var $Tpl_Dirname; var $Tpl_Parse_String; var $Tpl_Parse_Array; var $Tpl_Result; function __construct() { $this->Tpl_Header = NULL; $th

  • 功能不错的asp模板类代码附下载第1/4页

    此类支持循环替换,支持嵌套循环替换,支持多模板.  类的代码就不贴不来啰嗦了,在后面有下载,只贴出demo的代码. 一.模板只有一个循环块  模板文件主要代码  <head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  <title>{myname}模板-{webName}</title>  </head>

  • Smarty模板类内部原理实例分析

    本文实例讲述了Smarty模板类内部原理.分享给大家供大家参考,具体如下: 之前在学习ThinkPHP的时候,有接触到Smarty模板类,但是一直不知道其内部实现的原理,博主今天终于知道了其内部原理,其实也挺简单的,然后写了一个迷你版的Smarty模板类,对理解其内部原理有了很大的帮助. 1.迷你版Smarty类 首先上代码,最后再进行讲解. 项目结构图 MiniSmarty类代码(MiniSmarty.class.php) <?php /** * 迷你模板类 */ class MiniSmar

  • C++栈(stack)的模板类实现代码

    本文实例为大家分享了C++栈(stack)的模板类实现代码,供大家参考,具体内容如下 1.基本概念 栈中的元素遵守"先进后出"的原则(LIFO,Last In First Out) 只能在栈顶进行插入和删除操作 压栈(或推入.进栈)即push,将数据放入栈顶并将栈顶指针加一 出栈(或弹出)即pop,将数据从栈顶删除并将栈顶指针减一 栈的基本操作有:pop,push,判断空,获取栈顶元素,求栈大小 2.构造栈 可以使用数组构造栈,也可以使用单向链表构造,我觉得使用单向链表更加灵活方便,下

  • php 文章调用类代码

    调用方法如下: 复制代码 代码如下: $Template= '<li class="xxx">[<a href="{catedir}">{catetitle}</a>]<a href="{html}" title="{title}" >{title|6}{title2|20}</a>点击数:{hits} 日期:{posttime|H:i:s}</li>';

  • C++模板类的用法

    本文实例讲述了C++模板类的用法,分享给大家供大家参考.具体实现方法如下: main.h头文件如下: 复制代码 代码如下: template <class T>  class actioncontainer  {  public:      //构造函数      actioncontainer()      {          m_nRedoPos = 0;          m_nUndoPos = 0;      }      //容器的接口函数      void add(T val

  • Linux静态链接库与模板类的处理方式

    在阅读本文之前,小编先给大家介绍一篇相关文章:Linux静态链接库使用类模板的快速排序算法 大家首先看下以上的文章对理解下面的知识点会有很大的帮助. 当模板遇到静态链接库会发生什么呢. 我们先按照常规思路去考虑一个静态链接库的步骤: 1.将某些功能提取出来,放进一个cpp文件,并将接口或者对外导出的类放在头文件中 2.gcc -c编译该文件,生成.o 3.ar命令将.o文件打包成.a,即静态链接库 4.编译main函数,并将该静态链接库链接,生成可执行文件. OK,按照这个思路,我们将之前写的快

  • C++利用链表模板类实现简易队列

    本文实例为大家分享了C++利用链表模板类实现一个队列的具体代码,供大家参考,具体内容如下 设计思想:MyQueue.h中对模板类进行声明和实现.首先定义结点的结构体,包含数据和指针域两部分.队列类定义中声明和实现了元素入队,出队,打印队首元素和队列等方法. 注意: 1)模板类的声明和定义不能分开(即不能分别放在.h和.cpp文件里). 2)声明新节点时,如果声明的节点是辅助操作的,可以不用new关键字,例如在析构函数中,直接用:Node<T>* temp:定义即可.如果声明一个新节点加入队列,

  • C++使用模板类实现链式栈

    本文实例为大家分享了C++使用模板类实现链式栈的具体代码,供大家参考,具体内容如下 一.实现程序: 1.Stack.h #ifndef Stack_h #define Stack_h template <class T> class Stack { public: Stack(){}; // 构造函数 void Push(const T x); // 新元素进栈 bool Pop(); // 栈顶元素出栈 virtual bool getTop(T &x) const = 0; //

  • C++ 标准模板类详解

    目录 1 标准模板库 2.泛型编程 总结 1 标准模板库 STL提供了表示容器.迭代器.函数对象和算法的模板. 容器:类似数组存储若干值,切实同质的: 迭代器:遍历容器的对象,类似遍历数组的指针,广义指针: 算法:完成特定的任务: 函数对象:类对象或函数指针. 模板类 vector erase() 删除矢量中给定区间元素.接受两个迭代器参数(该参数定义了要删除的区间),迭代器1指向区间起始处,迭代器2指向区间终止处的后一个位置. // delete first and second elemen

随机推荐