免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1453 | 回复: 6
打印 上一主题 下一主题

PHP获取email问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-04-11 17:40 |只看该作者 |倒序浏览
PHP已经获取了一个网站所有的 @ 的符号,我应该怎样判断 @ 符号前后的英文字母呢?请指教,谢谢

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
2 [报告]
发表于 2006-04-11 17:42 |只看该作者
\b[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}\b

论坛徽章:
0
3 [报告]
发表于 2006-04-11 23:25 |只看该作者
我这样什么都找不到,那里错了呢?谢谢
       
while ($buffer = fgets($fp, 100000))
        {
                if (ereg("\b[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}\b", $buffer, $cp))
                {
                        $email_1 = $cp[0];
                        echo $email_1;
                }

        }

论坛徽章:
0
4 [报告]
发表于 2006-04-11 23:53 |只看该作者

转贴

一个PHP中常用email校验语句的解释

相信好好学过PHP的人都应该知道下面这段用于eamil校验的语句,但是真正能看懂的就不多了:
<?php
if (eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$",$email)) {
echo "您的 E-Mail 通过初步检查";
}
?>
在这句话里,首先是应用了一个eregi函数,这个函数还算好理解。随便找本书,就能给你一段解释:
语法: int ereg(string pattern, string string, array [regs]);
返回值: 整数/数组
本函数以 pattern 的规则来解析比对字符串 string。
比对结果返回的值放在数组参数 regs 之中,regs[0] 内容就是原字符串 string、regs[1] 为第一个合乎规则的字符串、regs[2] 就是第二个合乎规则的字符串,余类推。若省略参数 regs,则只是单纯地比对,找到则返回值为 true。
而不太好理解的就是前面的这段正则表达式了:^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$
在这段正则表达式中,“+”表示前面的字符串连续出现一个或多个;“^”表示下一个字符串必须出现在开头,“$”表示前一个字符串必须出现在结尾;
“.”也就是“.”,这里“”是转义符;“{2,3}”表示前面的字符串可以连续出现2-3次。“()”表示包含的内容必须同时出现在目标对象中。“[_.0-9a-z-]”表示包含在“_”、“.”、“-”、从a到z范围内的字母、从0到9范围内的数字中的任意字符;
这样一来,这个正则表达式可以这样翻译:
“下面的字符必须在开头(^)”、“该字符必须包含在“_”、“.”、“-”、从a到z范围内的字母、从0到9范围内的数字中([_.0-9a-z-])”、“前面这个字符至少出现一次(+)”、@、“该字符串由一个包含在从a到z范围内的一个字母、从0到9范围内的数字中的字符开头,后面跟至少一个包含在“-”、从a到z范围内任何一个字母、从0到9范围内任何一个数字中的字符,最后以.结束(([0-9a-z][0-9a-z-]+.))”、“前面这个字符至少出现一次(+)”、“从a到z范围内的字母出现2-3次,并以它结束([a-z]{2,3}$)”
很繁杂是吧,对了,正因为这样,人们才使用正则表达式。

论坛徽章:
0
5 [报告]
发表于 2006-04-12 00:11 |只看该作者
??请各位指点,谢谢!

论坛徽章:
0
6 [报告]
发表于 2006-04-12 09:20 |只看该作者
版主可以说详细点吗?谢谢了

论坛徽章:
0
7 [报告]
发表于 2006-04-12 10:15 |只看该作者
原帖由 HonestQiao 于 2006-4-11 17:42 发表
\b[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}\b



版主你这个是不是只能找到 XXXX@XXX.com 这种格式的呢?如果是XXXX@XXX.com.cn应该怎样写呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP