`
dcdc723
  • 浏览: 188085 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

常用类

    博客分类:
  • PHP
阅读更多
// 过滤html代码

function SpHtml2Text($str)
{
	$str = preg_replace("/<sty(.*)\\/style>|<scr(.*)\\/script>|<!--(.*)-->/isU","",$str);
	$alltext = "";
	$start = 1;
	for($i=0;$i<strlen($str);$i++)
	{
		if($start==0 && $str[$i]==">")
		{
			$start = 1;
		}
		else if($start==1)
		{
			if($str[$i]=="<")
			{
				$start = 0;
				$alltext .= " ";
			}
			else if(ord($str[$i])>31)
			{
				$alltext .= $str[$i];
			}
		}
	}
	$alltext = str_replace(" "," ",$alltext);
	$alltext = preg_replace("/&([^;&]*)(;|&)/","",$alltext);
	$alltext = preg_replace("/[ ]+/s"," ",$alltext);
	return $alltext;
}

//获得当前的脚本网址
function GetCurUrl()
{
	if(!empty($_SERVER["REQUEST_URI"]))
	{
		$scriptName = $_SERVER["REQUEST_URI"];
		$nowurl = $scriptName;
	}
	else
	{
		$scriptName = $_SERVER["PHP_SELF"];
		if(empty($_SERVER["QUERY_STRING"]))
		{
			$nowurl = $scriptName;
		}
		else
		{
			$nowurl = $scriptName."?".$_SERVER["QUERY_STRING"];
		}
	}
	return $nowurl;
}
//文本转HTML
function Text2Html($txt)
{
	$txt = str_replace("  "," ",$txt);
	$txt = str_replace("<","&lt;",$txt);
	$txt = str_replace(">","&gt;",$txt);
	$txt = preg_replace("/[\r\n]{1,}/isU","<br/>\r\n",$txt);
	return $txt;
}
//中文截取2,单字节截取模式
//如果是request的内容,必须使用这个函数
function cn_substrR($str,$slen,$startdd=0)
{
	$str = cn_substr(stripslashes($str),$slen,$startdd);
	return addslashes($str);
}

//中文截取2,单字节截取模式
function cn_substr($str,$slen,$startdd=0)
{
	global $cfg_soft_lang;
	if($cfg_soft_lang=='utf-8')
	{
		return cn_substr_utf8($str,$slen,$startdd);
	}
	$restr = '';
	$c = '';
	$str_len = strlen($str);
	if($str_len < $startdd+1)
	{
		return '';
	}
	if($str_len < $startdd + $slen || $slen==0)
	{
		$slen = $str_len - $startdd;
	}
	$enddd = $startdd + $slen - 1;
	for($i=0;$i<$str_len;$i++)
	{
		if($startdd==0)
		{
			$restr .= $c;
		}
		else if($i > $startdd)
		{
			$restr .= $c;
		}

		if(ord($str[$i])>0x80)
		{
			if($str_len>$i+1)
			{
				$c = $str[$i].$str[$i+1];
			}
			$i++;
		}
		else
		{
			$c = $str[$i];
		}

		if($i >= $enddd)
		{
			if(strlen($restr)+strlen($c)>$slen)
			{
				break;
			}
			else
			{
				$restr .= $c;
				break;
			}
		}
	}
	return $restr;
}
//utf-8中文截取,单字节截取模式
function cn_substr_utf8($str, $length, $start=0)
{
	if(strlen($str) < $start+1)
	{
		return '';
	}
	preg_match_all("/./su", $str, $ar);
	$str = '';
	$tstr = '';

	//为了兼容mysql4.1以下版本,与数据库varchar一致,这里使用按字节截取
	for($i=0; isset($ar[0][$i]); $i++)
	{
		if(strlen($tstr) < $start)
		{
			$tstr .= $ar[0][$i];
		}
		else
		{
			if(strlen($str) < $length + strlen($ar[0][$i]) )
			{
				$str .= $ar[0][$i];
			}
			else
			{
				break;
			}
		}
	}
	return $str;
}

function GetMkTime($dtime)
{
	global $cfg_cli_time;
	if(!ereg("[^0-9]",$dtime))
	{
		return $dtime;
	}
	$dtime = trim($dtime);
	$dt = Array(1970,1,1,0,0,0);
	$dtime = ereg_replace("[\r\n\t]|日|秒"," ",$dtime);
	$dtime = str_replace("年","-",$dtime);
	$dtime = str_replace("月","-",$dtime);
	$dtime = str_replace("时",":",$dtime);
	$dtime = str_replace("分",":",$dtime);
	$dtime = trim(ereg_replace("[ ]{1,}"," ",$dtime));
	$ds = explode(" ",$dtime);
	$ymd = explode("-",$ds[0]);
	if(!isset($ymd[1]))
	{
		$ymd = explode(".",$ds[0]);
	}
	if(isset($ymd[0]))
	{
		$dt[0] = $ymd[0];
	}
	if(isset($ymd[1]))
	{
		$dt[1] = $ymd[1];
	}
	if(isset($ymd[2]))
	{
		$dt[2] = $ymd[2];
	}
	if(strlen($dt[0])==2)
	{
		$dt[0] = '20'.$dt[0];
	}
	if(isset($ds[1]))
	{
		$hms = explode(":",$ds[1]);
		if(isset($hms[0]))
		{
			$dt[3] = $hms[0];
		}
		if(isset($hms[1]))
		{
			$dt[4] = $hms[1];
		}
		if(isset($hms[2]))
		{
			$dt[5] = $hms[2];
		}
	}
	foreach($dt as $k=>$v)
	{
		$v = ereg_replace("^0{1,}",'',trim($v));
		if($v=='')
		{
			$dt[$k] = 0;
		}
	}
	$mt = @gmmktime($dt[3],$dt[4],$dt[5],$dt[1],$dt[2],$dt[0]) - 3600 * $cfg_cli_time;
	if(!empty($mt))
	{
		return $mt;
	}
	else
	{
		return time();
	}
}

function SubDay($ntime,$ctime)
{
	$dayst = 3600 * 24;
	$cday = ceil(($ntime-$ctime)/$dayst);
	return $cday;
}

function AddDay($ntime,$aday)
{
	$dayst = 3600 * 24;
	$oktime = $ntime + ($aday * $dayst);
	return $oktime;
}

function GetDateTimeMk($mktime)
{
	return MyDate('Y-m-d H:i:s',$mktime);
}

function GetDateMk($mktime)
{
	return MyDate("Y-m-d",$mktime);
}

function GetIP()
{
	if(!empty($_SERVER["HTTP_CLIENT_IP"]))
	{
		$cip = $_SERVER["HTTP_CLIENT_IP"];
	}
	else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
	{
		$cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
	}
	else if(!empty($_SERVER["REMOTE_ADDR"]))
	{
		$cip = $_SERVER["REMOTE_ADDR"];
	}
	else
	{
		$cip = '';
	}
	preg_match("/[\d\.]{7,15}/", $cip, $cips);
	$cip = isset($cips[0]) ? $cips[0] : 'unknown';
	unset($cips);
	return $cip;
}

function pinyin($str,$ishead=0,$isclose=1)
{
	global $pinyins;
	$restr = '';
	$str = trim($str);
	$slen = strlen($str);
	if($slen<2)
	{
		return $str;
	}
	if(count($pinyins)==0)
	{
		$fp = fopen('pinyin.dat','r');
		while(!feof($fp))
		{
			$line = trim(fgets($fp));
			$pinyins[$line[0].$line[1]] = substr($line,3,strlen($line)-3);
		}
		fclose($fp);
	}
	for($i=0;$i<$slen;$i++)
	{
		if(ord($str[$i])>0x80)
		{
			$c = $str[$i].$str[$i+1];
			$i++;
			if(isset($pinyins[$c]))
			{
				if($ishead==0)
				{
					$restr .= $pinyins[$c];
				}
				else
				{
					$restr .= $pinyins[$c][0];
				}
			}else
			{
				$restr .= "_";
			}
		}else if( eregi("[a-z0-9]",$str[$i]) )
		{
			$restr .= $str[$i];
		}
		else
		{
			$restr .= "_";
		}
	}
	if($isclose==0)
	{
		unset($pinyins);
	}
	return $restr;
}

 

// $rptype = 0 表示仅替换 html标记
// $rptype = 1 表示替换 html标记同时去除连续空白字符
// $rptype = 2 表示替换 html标记同时去除所有空白字符
// $rptype = -1 表示仅替换 html危险的标记
function HtmlReplace($str,$rptype=0)
{
	$str = stripslashes($str);
	if($rptype==0)
	{
		$str = htmlspecialchars($str);
	}
	else if($rptype==1)
	{
		$str = htmlspecialchars($str);
		$str = str_replace(" ",' ',$str);
		$str = ereg_replace("[\r\n\t ]{1,}",' ',$str);
	}
	else if($rptype==2)
	{
		$str = htmlspecialchars($str);
		$str = str_replace(" ",'',$str);
		$str = ereg_replace("[\r\n\t ]",'',$str);
	}
	else
	{
		$str = ereg_replace("[\r\n\t ]{1,}",' ',$str);
		$str = eregi_replace('script','script',$str);
		$str = eregi_replace("<[/]{0,1}(link|meta|ifr|fra)[^>]*>",'',$str);
	}
	return addslashes($str);
}

function CheckEmail($email)  //返回1时,验证成功
{
	return eregi("^[0-9a-z][a-z0-9\._-]{1,}@[a-z0-9-]{1,}[a-z0-9]\.[a-z\.]{1,}[a-z]$", $email);
}

 

  • pinyin.rar (17.8 KB)
  • 描述: 来自-DEDECMS
  • 下载次数: 5
分享到:
评论

相关推荐

    JAVA常用类总结

    JAVA常用类,java封装类,String类和StringBuffer类......

    实验5 JAVA常用类.doc

    实验5的Java常用类主要涵盖了Java编程中的一些核心概念和常用工具类的使用。以下是这些知识点的详细说明: 1. **String、StringBuffer(StringBuilder)**: - **String** 类在Java中是不可变的,这意味着一旦创建了...

    28个PHP常用类

    "28个PHP常用类"可能包含了多个常见的、实用的类,这些类通常被广泛应用于各种PHP项目中,以解决特定的问题或提升开发效率。下面将详细讨论一些可能包含在这些类中的常见主题: 1. **错误和异常处理**: - `...

    Java 常用类 的介绍

    掌握这些Java常用类的基本用法和特性对于编写高效、可靠的Java代码至关重要,它们是Java程序设计的基础,广泛应用于各种类型的软件开发项目中。通过深入了解和熟练使用这些类,开发者能够更好地构建复杂的应用程序并...

    C#常用类11个相关代码源码

    在C#编程语言中,"常用类"是指那些在日常开发中经常被引用和使用的类,它们提供了许多基本功能,可以极大地提高开发效率。这里我们关注的11个C#常用类,很可能是涵盖了一些核心的.NET Framework或者.NET Core中的...

    java的1000个常用类

    这里我们探讨的是Java的1000个常用类,这些类在日常开发中扮演着重要角色。以下是一些核心和常见的类,以及它们的用途: 1. `java.util.List`(2889次):List接口是集合框架的一部分,它代表了一个有序的元素集合...

    Java常用类总结

    总的来说,熟练掌握这些Java常用类对于提升编程效率和编写高质量代码至关重要。它们涵盖了数据存储、输入输出、并发控制、日期时间处理等多个方面,是Java程序员的基础技能。了解并精通这些类的使用,能帮助开发者更...

    C#常用类集

    在.NET框架中,C#语言提供了丰富的...以上就是"C#常用类集"中涉及的关键知识点,这些工具类使得C#程序员能够高效地开发应用程序,处理各种数据和资源。了解并熟练使用这些类库,对于提升代码质量和开发效率至关重要。

    Java常用类.ppt

    Java常用类.pptJava常用类.ppt

    java课件(常用类)

    "java课件(常用类)"这个主题涵盖了Java基础知识中的重要部分——常用类。这些类是Java标准库的一部分,为开发者提供了丰富的功能,可以极大地提高开发效率。 在Java中,"常用类"通常指的是那些位于Java标准库...

    30多个android常用类

    在这个压缩包中,包含的30多个Android常用类覆盖了日志打印、用户界面反馈、异常处理、时间处理、文件操作、加密解密以及网络和WiFi相关的功能。以下将详细阐述这些知识点: 1. **日志(Log)**:Android系统提供了...

    JAVA常用类和方法

    JAVA常用类和方法 JAVA语言中有许多常用的类和方法,以下是其中的一些: 字符串类 字符串是JAVA中最基本的数据类型之一。String类提供了许多有用的方法,以下是一些常用的方法: * 获取字符串的长度:length() *...

    C#基础类 常用类 常用方法源码 .NET 工具类 源码

    这个压缩包“C#基础类 常用类 常用方法源码 .NET 工具类 源码”包含了C#编程中的基础类和常用工具类的源代码,对于学习和理解C#的编程实践非常有帮助。下面,我们将详细探讨这些关键知识点。 1. **基础类**:在C#中...

    .net 常用类集锦

    常用类集锦,内有各常用类与函数,可省去大部分时间编写烦锁的代码.

    JAVA课件 常用类

    介绍JAVA常用类,Object类 System类 基本类型的包装类 日期类 随机数类Random 枚举类型 泛型

    java常用类课件.pdf

    java 常用类课件。Collection、List、LinkedList、Vector、Iterator、Map、HashMap、TreeMap、MATH、Date、Set

    C# 常用类大全

    "C# 常用类大全"是一个集合了多种实用工具类的资源,旨在帮助开发者快速找到并利用这些类进行开发。本文将深入探讨C#中一些常用的类,以及它们在实际开发中的应用。 一、System.IO命名空间 System.IO命名空间包含了...

    Java常用类源码

    在Java编程语言中,了解和研究常用类的源码对于提升编程技能至关重要。Java的类库丰富多样,包含了大量预定义的类,这些类提供了许多基础功能,方便开发者快速构建应用程序。本文将深入探讨几个Java中常用的类,包括...

    java常用系统类库实验

    实验旨在加深学生对Java预定义类的理解,掌握常用类的运用技巧,以及熟练方法覆盖(重写)的实践。实验分为三个部分,分别围绕Math类、基本类型的包装类、日期类(Date和Calendar)、以及动态数组Vector类展开。 ##...

    开发十六年的积累(java常用类)

    在Java编程语言中,开发者经常会遇到各种场景,需要使用到一些内置的或者第三方的常用类。这些类在日常开发中扮演着重要的角色,能够帮助我们更高效地完成任务。"开发十六年的积累(java常用类)"这个主题,无疑是对...

Global site tag (gtag.js) - Google Analytics