常用类

阅读更多
// 过滤html代码

function SpHtml2Text($str)
{
	$str = preg_replace("/||/isU","",$str);
	$alltext = "";
	$start = 1;
	for($i=0;$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("<","<",$txt);
	$txt = str_replace(">",">",$txt);
	$txt = preg_replace("/[\r\n]{1,}/isU","
\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

你可能感兴趣的:(FP,C,C++,C#,HTML)