首页 > 语言 > 关键词 > 正则表达式最新资讯 > 正文

模板引擎正则表达式调试小技巧

2011-06-09 09:47 · 稿源:微风实验室,dev.meettea.com

很久没有遇上PHP难题了,这次正则问题占了一点时间,还是老问题最大回溯、递归限制问题。学习透之后其实并不难修改调试有这类问题的正则。主要是以下几点。

基于正则表达式替换的模板引擎很容易遇上正则表达式最大回溯/递归的限制。

惰性匹配并不可怕,正常情况下模板并不会不够用,往往不会超出限制,discuz的模板引擎就大量使用了。但是因此而不去注意、不去学习,则容易书写错误并遇上问题。

当preg_*返回的是null的时候则要注意了,判断函数是is_null.

出错并不可怕,但是最好把错误都完整的输出,这样调试就很容易了。

除了输出出错原因,还要输出匹配的文本和使用的正则,这样就很容易调试了。

PHP代码

  1. <?php   
  2. if (is_null($tmp)){   
  3.     $error_code = preg_last_error();   
  4.     switch($error_code){   
  5.         case PREG_NO_ERROR :   
  6.             echo 'PREG_NO_ERROR';   
  7.             break;   
  8.         case PREG_INTERNAL_ERROR:   
  9.             echo 'PREG_INTERNAL_ERROR';   
  10.             break;   
  11.         case PREG_BACKTRACK_LIMIT_ERROR:   
  12.             echo 'PREG_BACKTRACK_LIMIT_ERROR';   
  13.             break;   
  14.         case PREG_RECURSION_LIMIT_ERROR:   
  15.             echo 'PREG_RECURSION_LIMIT_ERROR';   
  16.             break;   
  17.         case PREG_BAD_UTF8_ERROR:   
  18.             echo 'PREG_BAD_UTF8_ERROR';   
  19.             break;   
  20.         case PREG_BAD_UTF8_OFFSET_ERROR:   
  21.             echo 'PREG_BAD_UTF8_OFFSET_ERROR';   
  22.             break;   
  23.         default:   
  24.             echo 'UNKNOW ERROR';   
  25.     }   
  26.     exit;   
  27. }  

参考资料

1、2010, Laruence 《深悉正则(pcre)最大回溯/递归限制》

2、2011, PHP中文手册 preg_last_error

(来源:微风实验室

  • 相关推荐
  • 大家在看
  • 基于Chromium的浏览器错误地创建了一个神秘的调试文件 附解决办法

    如果你在Windows10上使用基于Chromium的浏览器(Chrome、Edge、Brave等),你应该会注意到一个名为"debug.log"的神秘文件。Windows10下运行这些浏览器时甚至还会有机会在桌面上创建debug.log文件,但技术人员分析后表明,该文件是由Chromium浏览器创建的,并不是微软和第三方浏览器开发方的错。

  • 法庭下令:苹果永远不能禁止虚幻引擎

    苹果与Epic之间关于《堡垒之夜》的争端还在继续,这款备受欢迎的游戏迄今未在App Store恢复上架。一开始,苹果甚至要出手一同封杀Epic出品的虚幻引擎,关停其开发者账户,这将波及到大量基于此开

  • 电商新引擎,激发生意新可能 巨量引擎2020营销峰会在上海圆满结束

    2020年,内容电商增长趋势迅猛,电商行业发展正在迈进新时代。随着电商和内容领域巨头的入局,视频内容+电商、直播+电商的深度结合,以及用户对视频内容电商接受度的不断提升,给电商行业带来了全新的机遇。10月13日,巨量引擎2020营销峰会在上海浦东香格里拉大酒店圆满举行,本次峰会围绕《电商新引擎,激发生意新可能》的议题,与现场数千名企业家共同探讨短视频、内容、直播等全新的营销方式,共同把握电商行业的新机遇,迎接电

  • 万兴喵影APP5.0登陆各应用商店 音视频剪辑、模板特效强势上新

    9月27日,A股创意软件上市企业万兴科技(300624.SZ)再度加码数字创意业务移动端布局。当天,万兴科技旗下万兴喵影APP5.0正式全新上线。据了解,万兴喵影APP5.0 秉持“随时随地创作你的故事”理念,在视频剪辑、音频剪辑、模板特效等性能上取得出诸多突破,进一步升级移动端视频剪辑创造力。目前新版本已登陆腾讯应用宝、小米应用商城、VIVO应用商城、OPPO应用商城、华为应用商城、魅族应用商城、苹果商城、AppChina应用汇等应用商店,用户

  • 微软正在为Edge浏览器打造比价引擎

    在全面转向 Chromium 引擎之后,微软仍在努力为新版 Edge 浏览器引入与众不同的功能,以便让它在一众竞品中脱颖而出。随着假日购物季的临近,该公司刚刚宣布,作为“收藏”(Collections)书签服务的一部分,新功能之一的“比价引擎”将很快与大家见面。

  • 怎样避免买到假的美妆?心心App分享技巧

    近期,有关明星直播带货售假的新闻层出不穷,且有许多都是美妆商品。买到假的美妆售后很麻烦,因为大部分都是开封之后使用中发现非正品,可开封之后又不能退货,导致许多消费者有苦难言,无奈为自己的疏忽而买单。对此,美妆鉴别与交易平台心心APP提醒,在下单之前就要格外注意,不要给假货有机可趁。心心APP美妆鉴别团队表示,美妆商品造假比较容易,而且利润非常高。在早前公布的美妆造假新闻中,一瓶几百元的香水实际成本只要几

  • 不知道搜索引擎喜欢什么内容,做再多原创也没用

    SEO行业一直都说“内容为王”,虽然原创对排名有很大帮助,但也有很多人的原创内容根本没有排名,为什么。我们来一起分析下背后的原因。

  • 跟全网客一起来看一看如何做到搜索引擎霸屏

    实际上现在在搜索引擎当中,已经对于各类广告的投放做的比较精准了,由于大数据时代存在不再需要把各类信息投放给每一个消费者,而是有的放矢的进行投放。举个简单的例子来说,如果是篮球用品的话,投放给18岁到58岁之间的男性朋友,销量情况肯定会更好一些。于是在这种情况下,我们就要讨论一下搜索引擎霸屏究竟是怎么实现的,以及这类服务商都是如何操作的。一个懂得精准营销的平台很重要。但我们在做营销推广的过程当中,首先是要选择好?

  • 微软为Xbox推出Bing应用 让搜索引擎在游戏机上也更好用

    微软宣布为Xbox游戏机推出一款新的Bing应用,目的是让该公司的搜索引擎在其游戏硬件系列上更容易访问。在基本功能方面,它就是你所期望的Bing应用程序,例如提供网页和图像搜索,区别在于是用游戏机访问的而不是使用手机或PC。

  • 进击的数据中台,企业数字化转型的新引擎

    数据中台赋能企业数字化转型,成为降本增效新引擎。经历过“追捧”和“质疑”等种种考验后,当前,数据中台已经走到验证其价值的关键路口。01 数据中台是企业数字化转型新引擎在人工智能、大数据等技术发展和企业数字化转型加速的双重驱动下, 2019 年,数据中台在众多赛道中脱颖而出,成为行业焦点。除了提供综合解决方案的行业元老阿里巴巴之外,专注于某一具体场景的中台服务商,以及转型中的CRM、ERP等企业也纷纷入场,市场竞

  • 携手《好声音》、巨量引擎,国货品牌凯仕丽”触网“红出圈

    伴随网络社交热潮与Z世代的崛起,国货品牌纷纷开启“触网”营销模式,通过抢占流量优势阵地与内容创新,使得国货品牌焕发“新生”。有着二十年发展历程的国产优质红酒品牌凯仕丽,正搭载《中国好声音》和巨量引擎的“顺风车”,持续释放品牌爆发力。8月底,国民级综艺《2020中国好声音》强势开播,巨量引擎旗下平台西瓜视频网络独播,今日头条、抖音联合呈现。国货品牌凯仕丽作为节目的网络联合赞助商,首次尝试互联网营销新玩法。

  • 抖音歌曲搭配技巧 抖音音乐怎么搭配

    选好一首歌曲作为抖音的背景音乐,往往可以帮助视频获得不错的点击播放量以及收获粉丝,那么如何搭配抖音音乐,找到适合自己的歌曲,以下几种方法可以帮助你获得提升音乐搭配的能力。

  • 王者荣耀夏洛特怎么连招 夏洛特最强连招技巧

    王者荣耀夏洛特在9月24日正式上线了,这个新英雄得到了很多玩家的青睐,一些玩家还不清楚这个夏洛特这个特殊的机制的英雄怎么连招,下面就来为大家分享一下夏洛特的连招技巧。

  • 从广告到生意如何“激发新可能”?巨量引擎2020金投赏现场揭晓

    “We sell, or else”,这句广告大师大卫·奥格威的名言,似乎指明了广告的终极使命:促进生意。生意增长,是商业世界的永恒主题。颇具波折的 2020 快要结束,在危机与机遇并存的当下,更多企业更加关注业务的本质,企业数字化进程持续加速。广告营销之于生意将激发出哪些新的增长可能?10 月 19 日,巨量引擎将登上 2020 金投赏国际创意节舞台。在这场主题为“重启增长”、聚焦全行业广告营销新潮趋势的内容盛典上,持续深耕营销

  • 当“内需“成经济增长主引擎,百亿补贴如何迸发更多价值?

    从去年 6 月拼多多率先拿出重金,拉开了百亿补贴的序幕,众多电商平台纷纷跟进,随着补贴玩法的不断升级,百亿补贴如今俨然已经是电商行业的常态。

  • 电动牙刷哪个牌子好,选购技巧宝典拒绝被忽悠

    电动牙刷良莠不齐,很多人喜欢跟风选择销量靠前,排名靠前!电商平台谁销量高就靠前已经不再是秘密,如何才能正确挑选一支电动牙刷尤为重要。一支好的电动牙刷不仅仅是口腔得到改善,选择一支好的电动牙刷就相当于省钱,国内口腔牙医的一次性消费并不低。选一支好牙刷主要看以下几点:1,刷头材质,便宜电动牙刷值不值得买?很准确的告诉大家不要买便宜的电动牙刷,劣质刷头并不会带来口腔改善,甚至很有可能会损伤你的牙龈健康。?

  • 抖音码使用技巧 抖音码设置保存方法教程

    抖音码是抖音账号里一个比较便捷的功能,可以用来分享给其他用户,让别人扫码之后快速的看到自己的账号,这个抖音码在哪里可以进行设置,使用方法是怎样的呢,我们来看下抖音码的具体使用方法。

  • 硬盘恢复数据技巧:硬盘坏了数据可以恢复吗?

    电脑硬盘是我们日常使用电脑的时候经常打交道的一个装置。电脑硬盘分为内存和外存,内存负责存储电脑系统装置和电脑中的程序运行工作,外存负责电脑文件数据存储工作,因此硬盘负载着一台电脑最重要的信息,一旦不小心格式化会造成很大的麻烦。那么电脑硬盘格式化了还能恢复吗?下面介绍的这个方法非常简单。一、硬盘格式化数据恢复方法第一步:首先我们需要一些工具类软件来协助我们恢复数据。打开浏览器搜索“嗨格式数据恢复大师

  • 硬盘坏了数据可以恢复吗?硬盘数据恢复技巧

    硬盘坏了数据可以恢复吗?硬盘是计算机中最主要的存储设备,不管是电脑上使用的硬盘还是移动硬盘,其中都存储了重要的数据文件,在长期的使用和操作下,硬盘也很容易出现损坏的情况,那么硬盘坏了数据该怎么恢复呢?接下来就为大家介绍对应的操作步骤。第一步:下载安装”嗨格式数据恢复大师“,选择主界面的”磁盘分区丢失恢复“。【嗨格式数据恢复大师】 第二步:选择要恢复的分区,然后点击搜索分区。 第三步:待查找到该分区,

  • 网站导航:7个最佳实践,设计技巧和警示

    一些小的事物可以创造大的变化,网站导航栏就是一个很好的例子。导航的结构和标签可能会对结果产生巨大影响

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议
  • 热门标签

热文

  • 3 天
  • 7天