Heim > Artikel > Backend-Entwicklung > PHP-Beispielcode für die Beurteilung der chinesischen Kodierung
PHP bestimmt Chinesisch und die Kodierung beträgt zwei Bytes, utf8 beträgt drei Bytes. Dies kann anhand des Bereichs der chinesischen Kodierung beurteilt werden.
Kodierungsbereich 1. GBK (GB2312/GB18030)
x00-xff GBK-Doppelbyte-Kodierungsbereich
x20-x7f ASCII
xa1-xff Chinesisch
x80-xff Chinesisch
2. UTF-8 (Unicode)
u4e00-u9fa5 (Chinesisch)
x3130-x318F (Koreanisch)
xAC00-xD7A3 (Koreanisch)
u0800-u4e00 (Japanisch)
ps: Koreanisch ist größer als [ u9fa5] Zeichen
Reguläres Beispiel:
preg_replace("/([x80-xff])/","",$str);
preg_replace("/([u4e00-u9fa5]) /" ,"",$str);
2. Codebeispiel
Der Code lautet wie folgt:
//判断内容里有没有中文-GBK (PHP) function check_is_chinese($s){ return preg_match('/[\x80-\xff]./', $s); } //获取字符串长度-GBK (PHP) function gb_strlen($str){ $count = 0; for($i=0; $i<strlen($str); $i++){ $s = substr($str, $i, 1); if (preg_match("/[\x80-\xff]/", $s)) ++$i; ++$count; } return $count; } //截取字符串字串-GBK (PHP) function gb_substr($str, $len){ $count = 0; for($i=0; $i<strlen($str); $i++){ if($count == $len) break; if(preg_match("/[\x80-\xff]/", substr($str, $i, 1))) ++$i; ++$count; } return substr($str, 0, $i); } //统计字符串长度-UTF8 (PHP) function utf8_strlen($str) { $count = 0; for($i = 0; $i < strlen($str); $i++){ $value = ord($str[$i]); if($value > 127) { $count++; if($value >= 192 && $value <= 223) $i++; elseif($value >= 224 && $value <= 239) $i = $i + 2; elseif($value >= 240 && $value <= 247) $i = $i + 3; else die('Not a UTF-8 compatible string'); } $count++; } return $count; } //截取字符串-UTF8(PHP) function utf8_substr($str,$position,$length){ $start_position = strlen($str); $start_byte = 0; $end_position = strlen($str); $count = 0; for($i = 0; $i < strlen($str); $i++){ if($count >= $position && $start_position > $i){ $start_position = $i; $start_byte = $count; } if(($count-$start_byte)>=$length) { $end_position = $i; break; } $value = ord($str[$i]); if($value > 127){ $count++; if($value >= 192 && $value <= 223) $i++; elseif($value >= 224 && $value <= 239) $i = $i + 2; elseif($value >= 240 && $value <= 247) $i = $i + 3; else die('Not a UTF-8 compatible string'); } $count++; } return(substr($str,$start_position,$end_position-$start_position)); } //判断是否是有韩文-UTF-8 (JavaScript) function checkKoreaChar(str) { for(i=0; i<str.length; i++) { if(((str.charCodeAt(i) > 0x3130 && str.charCodeAt(i) < 0x318F) || (str.charCodeAt(i) >= 0xAC00 && str.charCodeAt(i) <= 0xD7A3))) { return true; } } return false; } //判断是否有中文字符-GBK (JavaScript) function check_chinese_char(s){ return (s.length != s.replace(/[^\x00-\xff]/g,"**").length); }
Das obige ist der detaillierte Inhalt vonPHP-Beispielcode für die Beurteilung der chinesischen Kodierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!