php正则一个入门问题求教,

amani11 2009-09-29 11:28:50
刚学正则基础,一段代码测试
PHP Version 5.2.8

代码见后面

现在出现问题如下:
如果我把$code中的联系电话号码删除【甚至删除一个数字】,则打印结果正常,否则匹配不到email地址





$code = '<TR>
<TD style="PADDING-LEFT: 10px">
联系电话: 0123-12345678
</TD>
<TD>
    
</TD>
</TR>


<TR>
<TD style="PADDING-LEFT: 10px; WORD-BREAK: break-all; WORD-WRAP: break-word" colSpan=2>
电子邮件: <A href=\'mailto:12345@126.com\'>12345@126.com</A>
</TD>
</TR>';
preg_match_all("/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i", $code, $email);
print_r($email);
...全文
84 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
江南昆虫 2009-09-29
  • 打赏
  • 举报
回复
嘿嘿,楼上的可能忘了\w是等价于'[A-Za-z0-9_]'的
程序猿之殇 2009-09-29
  • 打赏
  • 举报
回复
preg_match_all("/([\w\d]*[-_\.]?[\w\d]+)@([\w\d]*[-_]?[\w\d]+)+\.[\w]{2,3}([\.][\w]{2})?/i", $code, $email);

替你改了改正则,写得有点问题.
foolbirdflyfirst 2009-09-29
  • 打赏
  • 举报
回复
php 5.1.2
打印结果:

Array ( [0] => Array ( [0] => 12345@126.com [1] => 12345@126.com ) [1] => Array ( [0] => 12345 [1] => 12345 ) [2] => Array ( [0] => 126 [1] => 126 ) [3] => Array ( [0] => [1] => ) )
amani11 2009-09-29
  • 打赏
  • 举报
回复
你好,你的环境可以吗?

我这里不可以啊,不知道什么原因,

我把前面联系电话那里数字删除了,居然可以匹配到了
foolbirdflyfirst 2009-09-29
  • 打赏
  • 举报
回复
不是可以匹配到12345@126.com么,有什么问题?
江南昆虫 2009-09-29
  • 打赏
  • 举报
回复
$code = '<TR>
<TD style="PADDING-LEFT: 10px">
联系电话: 0123-12345678
</TD>
<TD>
    
</TD>
</TR>


<TR>
<TD style="PADDING-LEFT: 10px; WORD-BREAK: break-all; WORD-WRAP: break-word" colSpan=2>
电子邮件: <A href=\'mailto:12345@126.com\'>12345@126.com</A>
aaa@abc.com.cn
bbb@abc.info
</TD>
</TR>';
preg_match_all("/\w+([-+.]\w+)*@([-\w]+\.)+[a-z]{2,4}/i", $code, $email);
print_r($email);

21,886

社区成员

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

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