prep_match正则表达式

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

prep_match正则表达式
[导读] 在php中preg_match()函数是用
来执行正则表达式的一个常用的函数,下面我
来给大家详细介绍preg_match使用方法。


数用法int preg_match_all ( string pattern,
string subject, array matches [, int
在php中preg_match()函数是用来执行正则表达式的一个常用的函数,下面我来给大家详细介绍preg_match使用方法。

函数用法
int preg_match_all ( string pattern, string subject, array matches [, int flags] )
例1
例2
URL 中取出域名
// 从 URL 中取得主机名
preg_match("/^(http://)?([^/]+)/i", "http:
//www.***.net/index.html", $matches);
$host = $matches[2];
// 从主机名中取得后面两段
preg_match("/[^./]+.[^./]+$/", $host, $matches);
echo "domain name is: {$matches[0]}n";
>
本例将输出:
domain name is: PPP.NET
preg_match字符串长度问题
preg_match正则提取目标内容,死活有问题,代码测得死去活来。

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

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

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

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

相关文档
最新文档