1. 判断字符串是否含有中文
//判断字符串是否为中文 TRUE:全是中文 2:含有中文 FALSE:没有包含中文
function string_is_chinese($str = '中文'){
if (preg_match('/^[\x{4e00}-\x{9fa5}]+$/u', $str)>0) {
$res = TRUE;
} else if(preg_match('/[\x{4e00}-\x{9fa5}]/u', $str)>0) {
$res = 2;
} else {
$res = FALSE;
}
return $res;
}
2. PHP处理中文Unicode转码?
中文转unicode
function unicode_encode($str, $encoding = 'UTF-8', $prefix = '&#', $postfix = ';'){
if (is_array($str)) $str = implode(',',$str);
$str = iconv($encoding, 'UCS-2BE', $str);
$arrstr = str_split($str, 2);
$unistr = '';
for($i = 0, $len = count($arrstr); $i < $len; $i++) {
$dec = hexdec(bin2hex($arrstr[$i]));
$unistr .= $prefix . $dec . $postfix;
}
return $unistr;
}
解码
function decode($str, $prefix="&#") {
$a = explode(";", $str);
$utf='';
foreach ($a as $dec_old) {
if($dec_old != ''){
$ys=explode($prefix,$dec_old);
if(count($ys)>1){
if($ys[0]!=''){
$utf .= $ys[0];
$dec=$ys[1];
}else{
$dec=$ys[1];
}
}else{
$utf .= $ys[0];
$dec = $ys[0];
}
if ($dec < 128) {
$utf .= chr($dec);
} else if ($dec < 2048) {
$utf .= chr(192 + (($dec - ($dec % 64)) / 64));
$utf .= chr(128 + ($dec % 64));
} else {
$utf .= chr(224 + (($dec - ($dec % 4096)) / 4096));
$utf .= chr(128 + ((($dec % 4096) - ($dec % 64)) / 64));
$utf .= chr(128 + ($dec % 64));
}
}
}
return $utf;
}
?3. 生成随机密码
function generatePassword($length = 10)
{
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$result=substr(str_shuffle($characters),0,$length);
return $result;
}
?4. 生成UUID随机字符串
function getActivationCode()
{
mt_srand((double)microtime() * 10000);
$charid = strtoupper(md5(uniqid(rand(), true)));
$hyphen = chr(45);
$uuid = substr($charid, 0, 8) . $hyphen
. substr($charid, 8, 4) . $hyphen
. substr($charid, 12, 4) . $hyphen
. substr($charid, 16, 4) . $hyphen
. substr($charid, 20, 12);
return $uuid;
}
?5. 长sql语句换行等处理
function sqlClean($sql)
{
$sql = str_replace(array("/r/n", "\r\n", "/r", "/n", "\n"), '', $sql);
return $sql;
}
?
|