找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1917|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2647

主题

2647

帖子

7881

积分

论坛元老

Rank: 8Rank: 8

积分
7881
跳转到指定楼层
楼主
发表于 2018-2-14 08:39:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            基于正则表达式替换的模板引擎很容易遇上正则表达式最大回溯/递归的限制。
惰性匹配并不可怕,正常情况下模板并不会不够用,往往不会超出限制,discuz的模板引擎就大量使用了。但是因此而不去注意、不去学习,则容易书写错误并遇上问题。
当preg_*返回的是null的时候则要注意了,判断函数是is_null.
出错并不可怕,但是最好把错误都完整的输出,这样调试就很容易了。
除了输出出错原因,还要输出匹配的文本和使用的正则,这样就很容易调试了。
PHP代码
[U]复制代码[/U] 代码如下:

参考资料
1、2010, Laruence
[color=]《深悉正则(pcre)最大回溯/递归限制》

2、2011, PHP中文手册
[color=] preg_last_error

            
            
您可能感兴趣的文章:
  • 正则表达式高级学习技巧
  • ASP正则表达式技巧
  • PHP 正则表达式的几则使用技巧
  • 正则表达式高级技巧及实例详解 笨活儿
  • javascript 正则表达式(二) 使用技巧说明
  • 正则表达式的高级技巧分享
  • .NET 正则表达式使用高级技巧之替换类介绍
  • 正则表达式匹配不包含某些字符串的技巧
  • 写出高效率的正则表达式技巧总结
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端