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 相关文章推荐
Session的工作方式
Oct 09 PHP
php中实现记住密码自动登录的代码
Mar 02 PHP
php中选择什么接口(mysql、mysqli)访问mysql
Feb 06 PHP
PHP随机字符串生成代码(包括大小写字母)
Jun 24 PHP
PHP使用memcache缓存技术提高响应速度的方法
Dec 26 PHP
php+mysql实现的二级联动菜单效果详解
May 10 PHP
php版微信公众平台入门教程之开发者认证的方法
Sep 26 PHP
php 获取文件行数的方法总结
Oct 11 PHP
一键生成各种尺寸Icon的php脚本(实例)
Feb 08 PHP
ThinkPHP实现简单登陆功能
Apr 28 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
Feb 06 PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
Jan 02 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 读取文件头判断文件类型的实现代码
2013/08/05 PHP
教你识别简单的免查杀PHP后门
2015/09/13 PHP
php文件上传你必须知道的几点
2015/10/20 PHP
thinkPHP实现的联动菜单功能详解
2017/05/05 PHP
yii2 commands模式以及配置crontab定时任务的方法
2017/08/19 PHP
THINKPHP5分页数据对象处理过程解析
2020/10/28 PHP
判断iframe是否加载完成的完美方法
2010/01/07 Javascript
JS实现动态移动层及拖动浮层关闭的方法
2015/04/30 Javascript
JQuery分屏指示器图片轮换效果实例
2015/05/21 Javascript
jQuery中serializeArray()与serialize()的区别实例分析
2015/12/09 Javascript
picLazyLoad 实现图片延时加载(包含背景图片)
2016/07/21 Javascript
Javascript之面向对象--封装
2016/12/02 Javascript
详解js中==与===的区别
2017/01/08 Javascript
ES6中Iterator与for..of..遍历用法分析
2017/03/31 Javascript
bootstrapvalidator之API学习教程
2017/06/29 Javascript
vue下跨域设置的相关介绍
2017/08/26 Javascript
浅谈JavaScript中的属性:如何遍历属性
2017/09/14 Javascript
vue+springboot实现项目的CORS跨域请求
2018/09/05 Javascript
使用NestJS开发Node.js应用的方法
2018/12/03 Javascript
使用webpack编译es6代码的方法步骤
2019/04/28 Javascript
如何基于原生javaScript生成带图片的二维码
2019/11/21 Javascript
AI小程序之语音听写来了,十分钟掌握百度大脑语音听写全攻略
2020/03/13 Javascript
[01:52]2020年DOTA2 TI10夏季活动预告片
2020/07/15 DOTA
python MySQLdb Windows下安装教程及问题解决方法
2015/05/09 Python
Python OpenCV之图片缩放的实现(cv2.resize)
2019/06/28 Python
python对Excel按条件进行内容补充(推荐)
2019/11/24 Python
Python 解码Base64 得到码流格式文本实例
2020/01/09 Python
python异常处理、自定义异常、断言原理与用法分析
2020/03/23 Python
迪卡侬英国官网:Decathlon英国
2017/04/08 全球购物
美国摩托车头盔、零件、齿轮及配件商店:Cycle Gear
2019/06/12 全球购物
介绍一下JNDI的基本概念
2013/07/26 面试题
高中军训感想800字
2014/02/23 职场文书
员工保密协议书
2014/09/27 职场文书
小学秋季运动会加油口号及加油稿
2019/08/19 职场文书
MySQL的安装与配置详细教程
2021/06/26 MySQL
vue cli4中mockjs在dev环境和build环境的配置详情
2022/04/06 Vue.js