博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php_match/preg_match_all 默认有字符串长度限制
阅读量:6904 次
发布时间:2019-06-27

本文共 499 字,大约阅读时间需要 1 分钟。

php_match/preg_match_all 默认有字符串长度限制:52500(或许你的服务器环境是更长,或者更短),当字符串长度大于52500,只能匹配到52500数据,超出的部分会被系统自己截掉。

 

项目中,用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('pcre.recursion_limit', 99999);

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

转载地址:http://kcldl.baihongyu.com/

你可能感兴趣的文章
Android 仿携程活动列表边框布局
查看>>
九大排序算法再总结
查看>>
Java泛型
查看>>
unity的sprite添加点击事件
查看>>
敏捷开发(八)- Scrum Sprint计划会议1
查看>>
Pascal's Triangle II
查看>>
yocto系统介绍
查看>>
vim退出后终端保留 退出前的内容
查看>>
Android的minSdkVersion,targetSdkVersion,maxSdkVersion
查看>>
Android 实现ActionBar定制
查看>>
mysql之子查询
查看>>
VC++ 内存泄露与检测的一种方法
查看>>
iOS 9应用开发教程之定制应用程序图标以及真机测试
查看>>
JDK7新特性<八>异步io/AIO
查看>>
RMAN正确地删除Archivelog以及设置有备库的归档删除策略
查看>>
求最长回文子串 - leetcode 5. Longest Palindromic Substring
查看>>
获取谷歌浏览器缓存视频方法
查看>>
MVC区域 视图必须派生自 WebViewPage 或 WebViewPage<TModel>
查看>>
一步一步使用ABP框架搭建正式项目系列教程
查看>>
Ubuntu14.04下如何开启Mysql远程访问
查看>>