php完美匹配邮箱、链接地址和电话号码
写了好一会有问题,朋友这边很好功能,借用了。嘎嘎
2012/01/31日 更新: 匹配手机以及电话号码 重新修改,可支持18开头的手机号,并修改bug,可匹配出字符串中所有匹配号码! 经过多次测试,以下代码可以实现邮箱、链接地址和电话号码的匹配 匹配全部url地址和链接内容 ==================== $str = "<a href='http://www.baidu.com' target='_blank'>百度</a>http://www<a href='http://www.sina.com' target='_blank'>新浪</a>kod"; preg_match_all("/<a href=([\"\'])(http:\/\/([\w\d\.])+)[^>]*>(.*?)<\/a>/i", $str, $matches); echo "<pre>"; var_dump($matches[2]); echo "<br />"; var_dump($matches[4]); 匹配邮箱 ==================== $emails = "wangzhanu@126.comha12wangzhanu@163.com"; preg_match_all("/([a-z0-9_\-\.]+)@(([a-z0-9]+[_\-]?)\.)+[a-z]{2,3}/i", $emails, $matches); var_dump($matches[0]); 匹配手机以及电话号码 ==================== $tel = "13911112222sf010-44444442dfg18811112222"; preg_match_all("/1[3,5,8]{1}[0-9]{1}[0-9]{8}|0[0-9]{2,3}-[0-9]{7,8}(-[0-9]{1,4})?/", $tel, $matches); var_dump($matches); 请放心测试,有问题请大家留言