Email+URL的判断和自动转换函数


Posted in PHP onOctober 09, 2006

<?php
function validateEmail($email)  
{     return eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email);  
}  

function validateURL($url)  
{     return eregi("^((ht|f)tp://)((([a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3}))|(([0-9]{1,3}\.){3}([0-9]{1,3})))((/|\?)[a-z0-9~#%&'_\+=:\?\.-]*)*)$", $url);  
}  

function convertURLS($text)  
{     $text = eregi_replace("((ht|f)tp://www\.|www\.)([a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})((/|\?)[a-z0-9~#%&\\/'_\+=:\?\.-]*)*)", "http://www.\\3", $text);  
    $text = eregi_replace("((ht|f)tp://)((([a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3}))|(([0-9]{1,3}\.){3}([0-9]{1,3})))((/|\?)[a-z0-9~#%&'_\+=:\?\.-]*)*)", "<a href=\"\\0\">\\0</a>", $text);  
    return $text;  
}  

function convertMail($text)  
{     $text = eregi_replace("([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3}))", "<a href='mailto:\\0'>\\0</a>", $text);  
    return $text;  
}  

function convertAllLinks($text)  
{     $text = convertURLS($text);  
    $text = convertMail($text);  
    return $text;  
}
?>  

PHP 相关文章推荐
第十三节--对象串行化
Nov 16 PHP
实用函数8
Nov 08 PHP
PHP cron中的批处理
Sep 16 PHP
php switch语句多个值匹配同一代码块的实现
Mar 03 PHP
ThinkPHP中__initialize()和类的构造函数__construct()用法分析
Nov 29 PHP
php截取字符串函数分享
Feb 02 PHP
PHP版本常用的排序算法汇总
Dec 20 PHP
php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)
Mar 14 PHP
php简单解析mysqli查询结果的方法(2种方法)
Jun 29 PHP
微信支付之JSAPI公众号支付详解
May 15 PHP
PHP使用递归按层级查找数据的方法
Nov 10 PHP
PHP7创建销毁session的实例方法
Feb 03 PHP
WIN98下Apache1.3.14+PHP4.0.4的安装
Oct 09 #PHP
用文本文件制作留言板提示(下)
Oct 09 #PHP
用文本文件制作留言板提示(上)
Oct 09 #PHP
用函数读出数据表内容放入二维数组
Oct 09 #PHP
给多个地址发邮件的类
Oct 09 #PHP
用PHP调用数据库的存贮过程!
Oct 09 #PHP
PHP脚本的10个技巧(2)
Oct 09 #PHP
You might like
PHP中动态HTML的输出技术
2006/10/09 PHP
php单件模式结合命令链模式使用说明
2008/09/07 PHP
PHP模拟asp.net的StringBuilder类实现方法
2015/08/08 PHP
Yii视图操作之自定义分页实现方法
2016/07/14 PHP
Laravel 的数据库迁移的方法
2017/07/31 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
2018/09/04 PHP
PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类示例
2019/06/17 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
2020/01/25 PHP
ExtJs中简单的登录界面制作方法
2010/08/19 Javascript
javascript图像处理—仿射变换深度理解
2013/01/16 Javascript
jQuery中;function($,undefined) 前面的分号的用处
2014/12/17 Javascript
基于javascript html5实现多文件上传
2016/03/03 Javascript
D3.js实现折线图的方法详解
2016/09/21 Javascript
Bootstrap表单制作代码
2017/03/17 Javascript
JavaScript设计模式之装饰者模式实例详解
2019/01/17 Javascript
序列化模块json代码实例详解
2020/03/03 Javascript
angular组件间传值测试的方法详解
2020/05/07 Javascript
[04:09]2018年度DOTA2社区贡献奖-完美盛典
2018/12/16 DOTA
[02:16]完美世界DOTA2联赛PWL S3 集锦第三期
2020/12/21 DOTA
[01:18:35]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第一场 1月29日
2021/03/11 DOTA
在Python的Flask框架下收发电子邮件的教程
2015/04/21 Python
Python中Iterator迭代器的使用杂谈
2016/06/20 Python
利用Python开发微信支付的注意事项
2016/08/19 Python
Python遍历目录并批量更换文件名和目录名的方法
2016/09/19 Python
python中MethodType方法介绍与使用示例
2017/08/03 Python
Python生成任意范围任意精度的随机数方法
2018/04/09 Python
Opencv+Python 色彩通道拆分及合并的示例
2018/12/08 Python
Python GUI编程完整示例
2019/04/04 Python
python递归法解决棋盘分割问题
2019/07/17 Python
TensorFlow实现指数衰减学习率的方法
2020/02/05 Python
Keras使用tensorboard显示训练过程的实例
2020/02/15 Python
Python使用qrcode二维码库生成二维码方法详解
2020/02/17 Python
中学生逃课检讨书
2015/02/17 职场文书
会议主持人开场白台词
2015/05/28 职场文书
六年级作文之家庭作文
2019/12/12 职场文书
详解gantt甘特图可拖拽、编辑(vue、react都可用 highcharts)
2021/11/27 Vue.js