香港高速VIP云机房火爆上线啦!无需备案,开通即用!配套《巅云自助建站系统3.0》将带给您飞一般的可视化拖拽建站体验,欢迎免费体验。

建站新闻

模板引擎正则表达式调试小技巧
一佰互联网站建设(www.yinxi.net) 发布时间:2019-04-30 09:22:02 浏览数: 128
0

基于正则表达式替换的模板引擎很容易遇上正则表达式最大回溯/递归的限制。
惰性匹配并不可怕,正常情况下模板并不会不够用,往往不会超出限制,discuz的模板引擎就大量使用了。但是因此而不去注意、不去学习,则容易书写错误并遇上问题。
当preg_*返回的是null的时候则要注意了,判断函数是is_null.
出错并不可怕,但是最好把错误都完整的输出,这样调试就很容易了。
除了输出出错原因,还要输出匹配的文本和使用的正则,这样就很容易调试了。
PHP代码
复制代码 代码如下:
<?php
if (is_null($tmp)){
$error_code = preg_last_error();
switch($error_code){
case PREG_NO_ERROR :
echo "PREG_NO_ERROR";
break;
case PREG_INTERNAL_ERROR:
echo "PREG_INTERNAL_ERROR";
break;
case PREG_BACKTRACK_LIMIT_ERROR:
echo "PREG_BACKTRACK_LIMIT_ERROR";
break;
case PREG_RECURSION_LIMIT_ERROR:
echo "PREG_RECURSION_LIMIT_ERROR";
break;
case PREG_BAD_UTF8_ERROR:
echo "PREG_BAD_UTF8_ERROR";
break;
case PREG_BAD_UTF8_OFFSET_ERROR:
echo "PREG_BAD_UTF8_OFFSET_ERROR";
break;
default:
echo "UNKNOW ERROR";
}
exit;
}

参考资料
1、2010, Laruence 《深悉正则(pcre)最大回溯/递归限制》
2、2011, PHP中文手册 preg_last_error

一佰互联是全国知名建站品牌服务商,我们有九年网站建设、网站制作、网页设计、php开发和域名注册及虚拟主机服务经验,提供的自助建站服务更是全国有名。近年来还整合团队优势自主开发了可视化多用户”巅云建站系统“3.0平台版,拖拽排版网站制作设计,轻松实现pc站、手机微网站、小程序、APP一体化全网营销网站建设 ,已成功的为全国上百家网络公司提供自助建站平台搭建服务。

上一篇:QQ登录 PHP OAuth示例代码
下一篇: php中批量替换文件名的实现代码
[返回新闻列表]

相关新闻more

26
03月
photoshop最实用教程免费领,70堂课

简介:这是一套photoshop从菜鸟到王者的视频教程零基础也能学photoshop如果你已入门在工作过程中是否会遇到不会的或不熟练的功能与... >>详情

30
04月
PHP文件上传原理简单分析

//表单上传只能使用multipart/form-data编码格式 $_FILES系统函数; $_FILES["myFile"]["name... >>详情

11
04月
用一个实战案例,帮你学会讲述重设计作品的思路

编者按:新人设计师求职时经常苦于项目经验匮乏,但如果你学会讲述自己的重设计思路,成功率肯定能提高很多。今天这个实战案例就为你全面展现了,如何... >>详情

28
04月
php字符串按照单词进行反转的方法

本文实例讲述了php字符串按照单词进行反转的方法。分享给大家供大家参考。具体分析如下:下面的php代码可以将字符串按照单词进行反转输出,实际... >>详情

营业执照. cdn加速服务 备案系统认证 网络安全协会 我们的支付方式AAA认证
上海 北京 深圳 广州 天津 杭州 南京 武汉 成都 沈阳 大连 长沙 济南 青岛 苏州 福州 无锡 哈尔滨 宁波 重庆 大庆 厦门 西安 长春 珠海 郑州 海口 昆明 太原 石家庄 温州 合肥 乌鲁木齐 南宁 南通 合肥 兰州 呼和浩特 贵阳 烟台 秦皇岛 包头 唐山 银川 汕头 连云港 威海 西宁 湛江 北海 万州 涪陵 长寿 黔江 永川 丰都 忠县 江津 南川 开县 云阳 万盛 梁平 垫江 巫山 城口 建站宝盒 免费建站 门户网站建设 微信网站 手机网站 门户网站制作

7x24小时服务电话:18581389571 传真:023-85725751 免费建站交流群:236412099 139947842(自助建站交流) E-Mail:post@yinxi.net 网站投诉:
重庆楚捷科技有限公司 一佰互联©版权所有 自助建站(www.yinxi.net,Inc.) 2001-2020 All Rights Reserved 本站程序受法律保护,网站法律顾问:ITLAW-庄毅雄律师
中华人民共和国信息产业部网站备案号:渝ICP备12000592号