高手给予详细解释 谢谢preg_match('@^.*/(.*)\.php$@',$_SERVER['SCRIPT_NAME'],$pregArr);$_SERVER['SCRIPT_NAME'] 值是 /text.php $pregArr[1] 得出 test
怎么正则出test的呢。 越详细越好,我很菜的。。
怎么正则出test的呢。 越详细越好,我很菜的。。
解决方案 »
- 请帮忙,下边这段HTML代码那里错了?
- 程序设计的学习之路
- █ PHP拆分2个字符串 高手帮忙
- 付费找人开发PHP+Oracle程序,共同学习进步
- 网上空间的验证码显示不出来
- 取得文件的创建时间用什么函数?
- 新人的第一贴,呵呵,问个smarty的问题。。
- 刚刚配置完 apache+php ,遇到问题: ERROR: environment variable TEST_PHP_EXECUTABLE must be set to specify PHP executable!
- 关于数据记录分页显示的问题
- php代码中如何实现禁止某个ip段访问网站的指定的某篇文章
- php 用ajax局部隐藏的问题
- file_get_contents取不到内容
(.*) 跟上面的 .* 一样,括号的,后面说
\. 这里是匹配一个点。即 (.php)里的 .
php$ 是以php结尾$pregArr就是一个数组,$pregArr[1] 里的1 就是指上所说的第一个括号里的内容了
[2] 就是第二个括号里的内容,这里没有。。依此类推。
^ 代表是行首
.* 代表任意字符
/ 匹配/字符
(.*) 代表任意字符并保存
\. 转义. 因为. 在正则中表示任意字符,想匹配.字符要转义
php 匹配 php 字符最终取的结果是 text
http://www.php100.com/html/shipinjiaocheng/PHP100shipinjiaocheng/list_20_6.html
36讲--41讲都是说正则的,简单易懂MD,怎么感觉我是PHP100的托,老推荐它们的视频
preg_match('@^.*/(.*)\.php$@',$_SERVER['SCRIPT_NAME'],$pregArr);
^.*/(.*)\.php$^表示以什么开头 $表示以什么结束
.代表任意字符除了换行符
*表示前面0个到多个字符
\是转义字符。后面跟的"."就是匹配句点
就是得到文件名。
$pregArr[1]是匹配第一个括号的内容。就是获取带有路劲的php的文件名。