preg_match正则匹配提示pcre.backtrack_limit解决办法

用preg_match正则提取目标内容,死活有问题,代码测得死去活来。

后来怀疑PHP 的preg_match有字符串长度限制,果然,发现“pcre.backtrack_limit ”的值默认只设了100000。

解决办法:

 代码如下 复制代码
ini_set('pcre.backtrack_limit', 999999999);

注:这个参数在php 5.2.0版本之后可用。

另外说说关于:
pcre.recursion_limit

pcre.recursion_limit是PCRE的递归限制,这个项如果设很大的值,会消耗所有进程的可用堆栈,最后导致PHP崩溃。

也可以通过修改配置来限制:实际项目应用中,最好也对内存进行限定设置:ini_set('memory_limit', '64M'); , 这样就比较稳妥妥嘎。

 代码如下 复制代码
ini_set('pcre.recursion_limit', 99999);

 

其它解决办法参考文献

 代码如下 复制代码

pcre.backtrack_limit=-1

更多详细内容请查看:http://www.111cn.net/phper/31/42927.htm

时间: 2024-08-02 17:11:02

preg_match正则匹配提示pcre.backtrack_limit解决办法的相关文章

Win7系统联网时提示错误代码0x80070002解决办法

Win7系统联网时提示错误代码0x80070002解决办法 1.通过Win+R键打开运行窗口,然后在运行窗口上输入msconfig命令,打开系统配置窗口; 2.然后在系统配置窗口上,点击"服务"项,然后勾选"隐藏所有Microsoft服务"; 3.接着在win7系统服务功能列表上将一些服务列表禁用,再点击确定按钮,即可重新启动计算机.  

win8系统应用商店下载安装程序提示错误0x80200024解决办法

win8系统应用商店下载安装程序提示错误0x80200024解决办法   无法安装应用错误代码:0x80200024指的是服务器出现问题,错误代码:0x80080206指的是所下载的应用安装包已经损坏.如果是安装包被损坏主要是在下载应用时网络出现断开或无信号等等,导致下载的应用程序数据不完整 ,因此应用程序无法进行安装. 解决方法: 1.我们可以下载微软所提供的应用的疑难解答工具,点击下载>>微软疑难解答工具,在打开后可以对系统进行检测,打开后如下图,选择Windows商店应用并按下一步来进行

vs2010智能提示消失的解决办法

前一阵时间安装了ReSharper插件,后来发现运行太卡,于是卸掉了,然后...vs2010就杯具的发现木有智能提示了,解决办法: 进入vs2010命名行模式下:(程序->Microsoft Visual Studio 2010->Visual Studio Tools->Visual Studio Command Prompt (2010)) C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>devenv.exe /se

PHP中preg_match正则匹配中的/u、/i、/s含义_php技巧

PHP中preg_match正则匹配的/u /i  /s是什么意思 /u 表示按unicode(utf-8)匹配(主要针对多字节比如汉字) /i 表示不区分大小写(如果表达式里面有 a, 那么 A 也是匹配对象) /s 表示将字符串视为单行来匹配

preg_match正则匹配的字符串

例 preg_match_all正则匹配字符串所有连接地址  代码如下 复制代码 $str ='<a href="http://www.a.com/2010/11-15/5.html">4</a>   <a href="http://www.b.com/2010/11-15/6.html">5</a>   <a href="http://www.b.com/2010/11-15/1.html"

PHP正则的Unknown Modifier错误解决办法

如下正则: $a='2<span><nobr>tóng<span class="h">dòng</span></nobr><br>垌</span>3'; echo preg_replace('/<span class="h">[^<]*?</span>/','',$a); 会提示: Warning: preg_replace(): Unknown mod

Win7系统电脑安装软件失败并提示错误1327解决办法

  有用户朋友反应他的系统是Win7,64位的,之前安装软件都没出现什么问题,最近安装CAD软件发现安装不上了,每次安装的时候都提示错误1327,这是怎么一回事呢,要如何解决?下面我们小编就来跟大家一起分享如何解决Win7系统安装软件出现错误1327的解决办法. 其实要解决这个问题是很简单的,只需要在自己的win7旗舰版电脑中同时按下Win+R快捷键打开电脑的运行窗口,之后,打开的运行窗口中输入subst G: %TEMP%并单击回车.完成这个操作之后,只需要精心的等待电脑运行完毕就可以了. s

silverlight 安装提示“1603” 错误解决办法

  Ghost版的XP系统在安装silverlight时 一直提示"安装失败" 查看详情 消息ID是"1603" 根据网上的解决办法试了还是不行. 安装了framework2.0 后居然可以了,现在记下详细步骤 1.在"添加删除程序"中卸载已安装的silverlight 虽然提示安装失败 但添加删除程序中已经存在一个 silverlight 而且大小很小 和完整安装的不一样 ,要卸载掉 注意1.使用系统的卸载工具 不要使用360等 2.如果在添加

IIS应用程序池自动停止/关闭/假死网提示 Service Unavailable解决办法

问题现象: 访问站点.会导致应用程序池自动关闭,而出现Service Unavailable的提示.在允许和禁止一些WEB服务扩展时会提示MMC有错误. 解决过程:          开始时以为是IIS的问题.重装N次后,问题依然.看事件日志,提示如下: 事件类型: 警告 事件来源: W3SVC 事件种类: 无 事件 ID: 1009 日期:    2007-7-11 事件:    14:57:47 用户:    N/A 计算机: GHITR-61969D77E 描述: 为应用程序池 事件类型: