资源描述:
《php-自定义标签解析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、php自己定义解析方式(比较简单的写法)格式:{sxq:blistnum="10"lntercept="10"order=,,desc"}{loop$data$r}
{$r[title]}{$r[content]}{$r[zut]}{/loop}{/sxq:blist}以{sxq:}开始以{/sxq:}结束冒号紧跟的是传入的数据需要获取的方式以英文空格分开后面的参数第二行的{loop}目前里面的参数么有用到,但是不需填写,只耍出现loop就行需要循环的html里面的参数目前是写死的,必需$r开始取值,如果
2、需要用到key直接用$k取,这个可以根据自己的需要变化,Php部分一
3、nt_pe($html_str){$regex2="/{(sxq:[a-z].*?)}(.*?){(Vsxq:[a-z].*?)}/si";讦(preg_match_all($regex2z$html_str,$matchest)){$row_str=$this->Label_html($html_str);$string=count($matchest['0'])>l?$this->explodeRole($row_str/$html_str):$this->explodeRole_one($row_str,$html_str);}return$stri
4、ng?$string:";/*/privatefunctionexplodeRole_one($row_str,$html_str){$fil_a=$row_str['0'];$fil_b=$row_str[,l,];returnstr_replace($fil_a,$fil_b,$html_str);*@@desc:返回传入的参数*@date:20161221*@func兀配模块功能函数*@farr兀配模块功能参数*@html匹配模块标签*@data_keyhtml标签*/publicfunctionpbs_interface($func,$farr="
5、,$html=",$data_key="){$fun_t='Tag'.Sfunc;$fun_f='tagf'.$func;$r_name=$fun_t.'.php';require_once($r_name);$obj=$fun_t::getObj();$this->cf_existsyn($fun_t,$obj,$fun_f);return$obj->$fun_f($faro$html,$data_key);}/***@获収布局范围*@date:20161220*/privatefunctionLabel_html($str2){$regex2=7{(s
6、xq:[a-z].*?)}(.*?){(Vsxq:[a-z].*?)}/si,,;讦(preg_match_all($regex2,$str2,$matchest)){$arr_str=count($matchest「0'])l?$this->pbs_zhfunc_row($matchest):$this->pbs_zhfunc_one($matchest);return$arr_str;}}/***@desc:获取标签内容*@date:20161221*@$hui_fun冋调函数定义*@label_b_arr_config配置参数*/privatefun
7、ctionParser($Label_a,$Label_b,$Label_c,$Label_d){$fun_name=exploder::$Label_d);$label_b_arr=explode。$Label_b);$label_b_arr_config[*func]=$fun_name「1】;$label_b_arr_configl'farr1]=$this->pb_configure($label_b_arr);return$this->Parser_c($label_b_arr_config,$Label_c);}/***@获取内部结构*/pr
8、ivatefunctionParser_c($label_b_ar