手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆

一个被忽略的正则功能

首页 > PHP >

在setting sun的博客上发现一篇 文章,他认为:

PHP代码
  1. $p = "/^(?<ip>.*) (?<time>.*)$/";    
  2. $s = "10.4.0.111 2009-09-09";    
  3. preg_match($p$s$m);    
  4. print_r($m);    

输出:

XML/HTML代码
  1. Array ( [0] => 10.4.0.111 2009-09-09 [ip] => 10.4.0.111 [1] => 10.4.0.111 [time] => 2009-09-09 [2] => 2009-09-09 )   
这个数组中有ip,time的key,他认为这是PHP5.3的功能。回复中echo说没什么特别。

事实上,这个还真不是php5.3的功能,它是PHP4.3开始就有的功能。详情可以看手册:

Pattern Syntax -- Describes PCRE regex syntax这一章。其中有一段就是:
XML/HTML代码
  1. It is possible to name the subpattern with (?P<name>pattern) since PHP 4.3.3. Array with matches will contain the match indexed by the string alongside the match indexed by a number, then.   
所以,这还真不是啥新功能,只是我们很少用到而已。顺便说一句,今天的lamp分享中,祁宏还真的提到了这一点(关于分享内容我写了博客,但祁宏讲的内容,我没有详细记录参加lamp聚会有感 ),所以我才特别有印象。
本想回复到setting sun的博客上的,但。。。后来打不开了,原文网址为:http://www.setting.cc/blog/archives/2.html

 

 




本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"易栈网-膘叔", 保留原始链接, 此外还必须标注原文标题和链接.

Tags: perl, preg_match, php, pattern

« 上一篇 | 下一篇 »

只显示10条记录相关文章

使用PHP得到所有的HTTP请求头 (浏览: 62785, 评论: 3)
我为什么会选用phpstorm (浏览: 52691, 评论: 5)
快速生成目录树 (浏览: 46839, 评论: 7)
通过file_get_contents来Post数据的实例 (浏览: 46404, 评论: 5)
PHP导入导出Excel方法 (浏览: 45227, 评论: 3)
PHP的XSS攻击过滤函数 (浏览: 42725, 评论: 2)
PHP中Eval的作用 (浏览: 41664, 评论: 4)
超详细:在Mac OS X中配置Apache + PHP + MySQL (浏览: 40384, 评论: 1)
PHP常见错误(二) (浏览: 39782, 评论: 1)
PHP sendmail (浏览: 37967, 评论: 7)

3条记录访客评论

反向引用而已。^_^

Post by 马甲 on 2010, June 11, 11:22 AM 引用此文发表评论 #1

让我有点误会了,以为<ip>是一个特殊的规则呢。

Post by Deeka on 2010, June 7, 9:28 AM 引用此文发表评论 #2

呵呵,不好意思,我土了。。

Post by settingsum on 2010, June 7, 9:16 AM 引用此文发表评论 #3


发表评论

评论内容 (必填):