麻烦高手,来帮我简化这段正则表达式

linxue_ 2002-05-15 04:14:26
if(eregi(".htm",$file)||eregi(".txt",$file)||eregi(".inc",$file)||eregi(".php",$file)||eregi(".pl",$file)||eregi(".cgi",$file)||eregi(".asp",$file)||eregi(".css",$file)||eregi(".js",$file)){

}


...全文
89 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2002-05-25
  • 打赏
  • 举报
回复
$patten='/\w+(?=\.asp|\.php|\.html)/i';

就是匹配***.asp ***.php 等等了,把自己需要的都加在后面。

(?=pattern)
正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如, 'Windows (?=95|98|NT|2000)' 能匹配 "Windows 2000" 中的 "Windows" ,但不能匹配 "Windows 3.1" 中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。

上面这一段是我复制的了。

以前,csdn上面有人发表过专门介绍正则表达式的文章了。
这就是其中的内容的。

preg_match ,是perl风格的匹配了。如果以前用过perl,可能更习惯这个函数的了。
imjoksky 2002-05-25
  • 打赏
  • 举报
回复
eregi("\.(asp|php|htm|txt|pl|css|js|inc)",$file)
linxue_ 2002-05-17
  • 打赏
  • 举报
回复
$patten='/\w+(?=\.asp|\.php|\.html)/i';
if(preg_match($patten,$file)){
}
这段我看不大明白,解说一下好吗?

「已注销」 2002-05-16
  • 打赏
  • 举报
回复
$patten='/\w+(?=\.asp|\.php|\.html)/i';
if(preg_match($patten,$file)){
}
y10k 2002-05-15
  • 打赏
  • 举报
回复
楼上的,禁止抄袭。。。。。。。。。
除非贴明出处
bombshell 2002-05-15
  • 打赏
  • 举报
回复
$file_ext = strtolower(substr(strrchr($filename, '.'), 1));

$allow_type = array('html', 'txt', ..........);

if(in_array($file_ext, $allow_type)) echo 'yes';

========================================
偶的论坛:
www.chinesehis.com/starry/index.php
jyc_nj 2002-05-15
  • 打赏
  • 举报
回复
关注

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧