您好,欢迎访问一九零五行业门户网

jQuery入门第二天&&&正则表达式完结篇——仿smarty引擎的制作,jquery入门_PHP教程

jquery入门第二天&&&正则表达式完结篇——仿smarty引擎的制作,jquery入门hi
周一完全的不在状态。。。中午还去观战,没有睡觉的我,晚上的smarty不知道能不能做完,加油吧
1、jquery
---过滤性选择器(二)---
--[attribute=value]属性选择器
属性作为dom元素的一个重要特征,也可以用于选择器中,从本节开始将介绍通过元素属性获取元素的选择器,[attribute=value]属性选择器的功能是获取与属性名和属性值完全相同的全部元素,其中[]是专用于属性选择器的括号符,参数attribute表示属性名称,value参数表示属性值。
改变title属性值为蔬菜的背景色
茄子
香蕉
芹菜
苹果
西瓜
--:text表单文本选择器
:text表单文本选择器可以获取表单中全部单行的文本输入框元素,单行的文本输入框就像一个不换行的字条工具,使用非常广泛。
修改多个单行输入框元素的背景色
button
--:password表单密码选择器
如果想要获取密码输入文本框,可以使用:password选择器,它的功能是获取表单中全部的密码输入文本框元素。
修改多个密码输入框元素的背景色
区域文本输入框
button
--:radio单选按钮选择器
表单中的单选按钮常用于多项数据中仅选择其一,而使用:radio选择器可轻松获取表单中的全部单选按钮元素。
将表单中单选按钮设为不可用


button
--:checkbox复选框选择器
表单中的复选框常用于多项数据的选择,使用:checkbox选择器可以快速定位并获取表单中的复选框元素。
将表单的全部复选框设为不可用
西红柿
茄子
黄瓜
button
--:submit提交按钮选择器
通常情况下,一个表单中只允许有一个“type”属性值为“submit”的提交按钮,使用:submit选择器可获取表单中的这个提交按钮元素。
修改表单中提交按钮的背景色
button
--:image图像域选择器
当一个元素的“type”属性值设为“image”时,该元素就是一个图像域,使用:image选择器可以快速获取该类全部元素。
修改表单中图像元素的背景色
--:button表单按钮选择器
表单中包含许多类型的按钮,而使用:button选择器能获取且只能获取“type”属性值为“button”的和这两类普通按钮元素。
修改表单中按钮元素的背景色
我也是普通按钮
--:checked选中状态选择器
有一些元素存在选中状态,如复选框、单选按钮元素,选中时“checked”属性值为“checked”,调用:checked可以获取处于选中状态的全部元素。
将处于选中状态的元素设为不可用
苹果
桔子
荔枝
葡萄
香蕉
--:selected选中状态选择器
与:checked选择器相比,:selected选择器只能获取下拉列表框中全部处于选中状态的选项元素。
获取处于选中状态元素的内容
苹果
桔子
荔枝
葡萄
香蕉
----------------------------------------------------------------
2、正则表达式
 这里要做的引擎模板的作用是,替换变量输出。
需要的是模板文件.class,编译源文件.php
--template.class.php
templatedir=$templatedir;
$this->compiledir=$compiledir;
if (!empty($lefttag)) $this->lefttag=$lefttag; //传递左右标记的时候,需要做一下非空的判断
if (!empty($righttag)) $this->righttag=$righttag;
}
//assign函数——把模板中需要用到的变量,放到地址池中,并给定标记
public function assign($tag,$var){
$this->varpool[$tag]=$var;
}
//与上面的assign对应,从地址池中取出变量
public function getvar($tag){
return $this->varpool[$tag];
}
//getsourcetemplate:获取编译的源文件_需要知道文件名,和完整的路径(所以要有拓展名
public function getsourcetemplate($templatename,$ext='.html'){
$this->currenttemp=$templatename;
$sourcefilename=$this->templatedir.$this->currenttemp.$ext;
$this->outputhtml=file_get_contents($sourcefilename);
}
//compiletemplate:编译方法
public function compiletemplate($templatename=null,$ext='.html'){
$templatename=empty($templatename)? $this->currenttemp:$templatename;
//核心代码,正则编译
//\{#\$(\w+)#\}
$pattern='/\{#\$(\w+)#\}/';
//更加清晰的写法$pattern='/'.preg_quote($this->lefttag).' *\$([a-za-z_]\w*) *'.preg_quote($this->righttag).'/';
//核心代码要做的就是找到标记内的东西,然后替换为php可以识别的内容
$this->outputhtml=preg_replace($pattern, 'getvar(\'$1\')?>', $this->outputhtml);
//注意这里的preg_replace的用法,$1表示匹配的子模式
//下面生成目标文件,同样也需要完整的目标路径
$compiledfilename=$this->compiledir.md5($templatename).$ext;
file_put_contents($compiledfilename,$this->outputhtml);
}
public function display($templatename = null, $ext = '.html') {
$templatename = empty($templatename) ? $this->currenttemp : $templatename;
include_once $this->compiledir.md5($templatename).$ext;
}
}
--index.php
assign('pagetitle', '山寨版smarty');
$temp->assign('test','imooc女神');
//
$temp->getsourcetemplate('index');
$temp->compiletemplate();
$temp->display();
 --几个要注意的是
按照属性+方法,流水线一样编译就好
然后,一些服务要开,否则像我一样,还要调试。。。
祝大家好运。
http://www.bkjia.com/phpjc/1067097.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/1067097.htmltecharticlejquery入门第二天正则表达式完结篇——仿smarty引擎的制作,jquery入门 hi 周一完全的不在状态。。。中午还去观战,没有睡觉的我,晚上的...
其它类似信息

推荐信息