php写的用来检测手机邮箱用户名的类,供大家学习参考。
<?php
/**
* Check手机邮箱用户名检测类
*/
Class Check{
/**
* IsUsername函数:检测是否符合用户名格式
* $Argv是要检测的用户名参数
* $RegExp是要进行检测的正则语句
* 返回值:符合用户名格式返回用户名,不是返回false
*/
Function IsUsername($Argv){
$RegExp='/^[a-zA-Z0-9_]{3,16}$/'; //由大小写字母跟数字组成并且长度在3-16字符直接
return preg_match($RegExp,$Argv)?$Argv:false;
}
/**
* IsMail函数:检测是否为正确的邮件格式
* 返回值:是正确的邮件格式返回邮件,不是返回false
*/
Function IsMail($Argv){
$RegExp='/^[a-z0-9][a-z\.0-9-_]+@[a-z0-9_-]+(?:\.[a-z]{0,3}\.[a-z]{0,2}|\.[a-z]{0,3}|\.[a-z]{0,2})$/i';
return preg_match($RegExp,$Argv)?$Argv:false;
}
/**
* IsSmae函数:检测参数的值是否相同
* 返回值:相同返回true,不相同返回false
*/
Function IsSame($ArgvOne,$ArgvTwo,$Force=false){
return $Force?$ArgvOne===$ArgvTwo:$ArgvOne==$ArgvTwo;
}
/**
* IsQQ函数:检测参数的值是否符合QQ号码的格式
* 返回值:是正确的QQ号码返回QQ号码,不是返回false
*/
Function IsQQ($Argv){
$RegExp='/^[1-9][0-9]{5,11}$/';
return preg_match($RegExp,$Argv)?$Argv:false;
}
/**
* IsMobile函数:检测参数的值是否为正确的中国手机号码格式
* 返回值:是正确的手机号码返回手机号码,不是返回false
*/
Function IsMobile($Argv){
$RegExp='/^(?:13|15|18)[0-9]{9}$/';
return preg_match($RegExp,$Argv)?$Argv:false;
}
/**
* IsTel函数:检测参数的值是否为正取的中国电话号码格式包括区号
* 返回值:是正确的电话号码返回电话号码,不是返回false
*/
Function IsTel($Argv){
$RegExp='/[0-9]{3,4}-[0-9]{7,8}$/';
return preg_match($RegExp,$Argv)?$Argv:false;
}
/**
* IsNickname函数:检测参数的值是否为正确的昵称格式(Beta)
* 返回值:是正确的昵称格式返回昵称格式,不是返回false
*/
Function IsNickname($Argv){
$RegExp='/^\s*$|^c:\\con\\con$|[%,\*\"\s\t\<\>\&\'\(\)]|\xA1\xA1|\xAC\xA3|^Guest|^\xD3\xCE\xBF\xCD|\xB9\x43\xAB\xC8/is'; //Copy From DZ
return preg_match($RegExp,$Argv)?$Argv:false;
}
/**
* IsChinese函数:检测参数是否为中文
* 返回值:是返回参数,不是返回false
*/
Function IsChinese($Argv,$Encoding='utf8'){
$RegExp = $Encoding=='utf8'?'/^[\x{4e00}-\x{9fa5}]+$/u':'/^([\x80-\xFF][\x80-\xFF])+$/';
Return preg_match($RegExp,$Argv)?$Argv:False;
}
}
?>
您可能感兴趣的文章:
php邮箱检测的正则表达式一例
php正则验证email邮箱及抽取内容中email的例子
php邮箱验证类及正则匹配域名验证的实例代码
php常用正则表达式(日期 电话 中文 邮箱等)
验证用户输入的邮箱有效性与正确性的php代码
在做网站优化时,为了优化内链,需要将内容添加上关键字链接。那么,如果需要在内容上添加关联链接,应该如何操作呢?
方法一:手动编辑添加
方法二:使用程序在输出内容时实现,又不影响后台内容的编辑。
以下就是php自动给文章内容添加关联链接方法和示例,供大家学习参考。
Keylinks函数方法:
参数一:要处理的内容
参数二:替换次数
返回结果:处理后的内容
例子:
/**
* php关联链接
*/
header("Content-Type:text/html;charset=utf-8"); //设置编码
$linkdatas=array(
array('前端开发', 'http://http://www.'),
array('前端设计', 'http://www.'),
array('Web前端', 'http://www.'),
array('前端博客', 'http://www.'),
);
echo "替换前<br/>";
echo $str='Web前端开发 - 专注于网站前端设计与Web用户体验。前端开发,专注Web前端开发,关注Web用户体验,关注国内外最新最好的前端设计资源和前端开发技术的专业前端博客';
echo "<br/>替换后<br/>";
echo $str=keylinks($str,2);
/**
* 关联关键词替换
* @param txt $string 原字符串
* @param replacenum $int 替换次数
* @return string 返回字符串
*/
function keylinks($txt, $replacenum = '') {
global $linkdatas;
if ($linkdatas) {
$word = $replacement = array();
foreach ($linkdatas as $v) {
$word1[] = '/(?!(<a.*?))' . preg_quote($v[0], '/') . '(?!.*<\/a>)/s';
$word2[] = $v[0];
$replacement[] = '<a href="' . $v[1] . '" target="_blank" >' . $v[0] . '</a>';
}
if ($replacenum != '') {
$txt = preg_replace($word1, $replacement, $txt, $replacenum);
} else {
$txt = str_replace()($word2, $replacement, $txt);
}
}
return $txt;
}
?>
php进行GB与UTF8编码转换的代码,有需要的朋友可以参考下。
php文件:gb2utf8.php
<?php
Class GB2UTF8
{
var $gb; // 待转换的GB2312字符串
var $utf8; // 转换后的UTF8字符串
var $CodeTable; // 转换过程中使用的GB2312代码文件数组
var $ErrorMsg; // 转换过程之中的错误讯息
function GB2UTF8($InStr="")
{
$this->gb=$InStr;
$this->SetGb2312();
($this->gb=="")?0:$this->Convert();
}
function SetGb2312($InStr="gb2312.txt")
{ // 设置gb2312代码文件,默认为gb2312.txt
$this->ErrorMsg="";
$tmp=@file($InStr);
if (!$tmp) {
$this->ErrorMsg="No GB2312";
return false;
}
$this->CodeTable=array();
while(list($key,$value)=each($tmp)) {
$this->CodeTable[hexdec(substr($value,0,6))]=substr($value,7,6);
}
}
function Convert()
{ // 转换GB2312字符串到UTF8字符串,需预先设置$gb
$this->utf8="";
if(!trim($this->gb) || $this->ErrorMsg!="") {
return ($this->utf8=$this->ErrorMsg);
}
$str=$this->gb;
while($str) {
if (ord(substr($str,0,1))>127)
{
$tmp=substr($str,0,2);
$str=substr($str,2,strlen($str));
$tmp=$this->U2UTF8(hexdec($this->CodeTable[hexdec(bin2hex($tmp))-0x8080]));
for($i=0;$i<strlen ($tmp);$i+=3)
$this->utf8.=chr(substr($tmp,$i,3));
}
else
{
$tmp=substr($str,0,1);
$str=substr($str,1,strlen($str));
$this->utf8.=$tmp;
}
}
return $this->utf8;
}
function U2UTF8($InStr)
{
for($i=0;$i<count($InStr);$i++)
$str="";
if ($InStr < 0x80) {
$str.=ord($InStr);
}
else if ($InStr < 0x800) {
$str.=(0xC0 | $InStr>>6);
$str.=(0x80 | $InStr & 0x3F);
}
else if ($InStr < 0x10000) {
$str.=(0xE0 | $InStr>>12);
$str.=(0x80 | $InStr>>6 & 0x3F);
$str.=(0x80 | $InStr & 0x3F);
}
else if ($InStr < 0x200000) {
$str.=(0xF0 | $InStr>>18);
$str.=(0x80 | $InStr>>12 & 0x3F);
$str.=(0x80 | $InStr>>6 & 0x3F);
$str.=(0x80 | $InStr & 0x3F);
}
return $str;
}
}
?>
测试下,看看效果:
Header("Content-type: image/png");
$im = imagecreate(400,300);
$black = ImageColorAllocate($im, 0,0,0);
$white = ImageColorAllocate($im, 184,44,6);
include("gb2utf8.php");
$obj=new gb2utf8();
$obj->gb="123abc中国456def测试正确";
$obj->Convert();
ImageTTFText($im, 20, 0, 5, 50, $white, "SIMKAI.TTF", $obj->utf8);
ImagePNG($im);
ImageDestroy($im);
?>
注解:
需要正确设置font文件,请先确认是否能够使用font直接(不使用gb2utf8)输出英文。