PHP的preg_match匹配字符串长度问题解决方法
项目中,用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'); , 这样就比较稳妥妥嘎。
相关推荐
-
php小经验:解析preg_match与preg_match_all 函数
正则表达式在 PHP 中的应用在 PHP 应用中,正则表达式主要用于:•正则匹配:根据正则表达式匹配相应的内容•正则替换:根据正则表达式匹配内容并替换•正则分割:根据正则表达式分割字符串在 PHP 中有两类正则表达式函数,一类是 Perl 兼容正则表达式函数,一类是 POSIX 扩展正则表达式函数.二者差别不大,而且推荐使用Perl 兼容正则表达式函数,因此下文都是以 Perl 兼容正则表达式函数为例子说明.定界符Perl 兼容模式的正则表达式函数,其正则表达式需要写在定界符中.任何不是字母.数
-
php正则表达式使用的详细介绍
前言 正则表达式是烦琐的,但是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感.只要认真去阅读这些资料,加上应用的时候进行一定的参考,掌握正则表达式不是问题. 1. 引子 目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境,以及很多的应用软件中,都可以看到正则表达式的影子. 正则表达式的使用,可以通过简单的办法来实现强大的功能.为了简单有效而又不失强大,造成了正则表达式代码的难度较大,学习
-
PHP函数preg_match_all正则表达式的基本使用详细解析
了解正则表达式之前,须要掌握一些常用的正则表达式的基础知识,这些如果能记得最好记得,记不住须要用的时候能查到就行,就多个特殊字符,所以说正则表达式玩的就是特殊,具体大家可以查看更加细致的说明. preg_match_all函数具体说明大家可以查看PHP手册,本文运用 preg_match_all用于测试正则表达的效果. 实例代码: 复制代码 代码如下: $html = '<div id="biuuu">jb51.net</div><div id="
-
PHP 正则表达式常用函数使用小结
在PHP中有两套正则表达式函数库.一套是由PCRE(Perl Compatible Regular Expression)库提供的.PCRE库使用和Perl相同的语法规则实现了正则表达式的模式匹配,其使用以"preg_"为前缀命名的函数.另一套是由POSIX(Portable Operation System interface)扩展库提供的.POSIX扩展的正则表达式由POSIX 1003.2定义,一般使用以"ereg_"为前缀命名的函数. 两套函数库的功能相似,
-
PHP正则匹配操作简单示例【preg_match_all应用】
本文实例讲述了PHP正则匹配操作.分享给大家供大家参考,具体如下: <?php $str = <<< EOT <a href="www/app/a/2QRN7v" rel="external nofollow" > <div class="phonebg"> <img src="http://www/template9/yunqingjian/jianjie/68.jpg"
-
php中使用preg_match_all匹配文章中的图片
preg_match_all 函数: int preg_match_all ( string pattern, string subject, array matches [, int flags] )执行一个全局正则表达式匹配在 subject 中搜索所有与 pattern 给出的正则表达式匹配的内容并将结果以 flags 指定的顺序放到 matches 中. 搜索到第一个匹配项之后,接下来的搜索从上一个匹配项末尾开始. flags 可以是下列标记的组合(注意把 PREG_PATT
-
PHP preg match正则表达式函数的操作实例
在php中preg_match()函数是用来执行正则表达式的一个常用的函数.正则表达式几乎在所有编程语言里面都会用到,本实例介绍php中正则表达式preg_match函数的应用. preg_match() 函数用于进行正则表达式匹配,成功返回 1 ,否则返回 0 . preg_match() 匹配成功一次后就会停止匹配,如果要实现全部结果的匹配,则需使用 preg_match_all() 函数. 语法: preg_match (pattern , subject, matches) 参数 描述
-
PHP中preg_match函数正则匹配的字符串长度问题
项目中,用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 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
前面我们已经学习了正则表达式的基础语法,包括了定界符.原子.元字符和模式修正 符.实际上正则表达式想要起作用的话,就必须借用正则表达式处理函数.本节我们就来介绍一下PHP中基于perl的正则表达式处理函数,主要包含了分割, 匹配,查找,替换等等处理操作,依旧是配合示例讲解,让我们开始吧. 和正则表达式一样,正则表达式处理函数不能够独立使用,而这必须相结合,才能够完成特定的功能.在前面我们也说过,基于perl的正则表达式要快于POXIS正则表达式处理函数,所以我们只介绍以preg开头的基于perl
-
php preg_match的匹配不同国家语言实例
php preg_match的匹配不同国家语言实例 正则:[\S]{2,32} 过滤是管用的 PHP中: <?php var_dump( preg_match("/[\S\b]{2,32}/",'ج') ); echo '<hr />'; var_dump( preg_match("/[\S\b]{2,32}/",'中国') ); 是不行的 需要加一个参数u,按照uniode来读码 <?php var_dump( preg_match(&qu
-
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
本文实例讲述了PHP preg_match实现正则表达式匹配功能.分享给大家供大家参考,具体如下: preg_match - 执行一个正则表达式匹配 preg_match ( $pattern , $subject , $matches ) 搜索subject与pattern给定的正则表达式的一个匹配. 参数 : pattern : 要搜索的模式,字符串类型(正则表达式). subject : 输入的字符串. matches :(可有可无)如果提供了参数matches,它将被填充为搜索结果. $
-
PHP提取字符串中的图片地址[正则表达式]
复制代码 代码如下: <?php $str='<p><img border="0" src="upfiles/2009/07/1246430143_1.jpg" alt=""/></p>'; $pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg]))[\'|\"].*?[\/]?>/"; preg_
随机推荐
- php中替换字符串函数strtr()和str_repalce()的用法与区别
- vue.js全局API之nextTick全面解析
- SqlLoader怎么使用
- jquery横向纵向鼠标滚轮全屏切换
- Vue2单一事件管理组件通信
- java多线程编程学习(线程间通信)
- IOS开发-多线程队列测试代码
- Python新手实现2048小游戏
- 浅谈window对象的scrollBy()方法
- js实现浏览器窗口大小被改变时触发事件的方法
- shell监控脚本 准备工作分享
- 在SQL SERVER中导致索引查找变成索引扫描的问题分析
- 关于Win10下MySQL5.7.17免安装版基本配置教程(图文详解)
- jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法
- C 语言常用方法技巧
- VC MFC非模态对话框的实现方法
- 从Python的源码来解析Python下的freeblock
- MUI进行APP混合开发实现下拉刷新和上拉加载 原创
- Python自动化运维_文件内容差异对比分析
- java+SQL server2008学生信息管理系统源码