定义和用法
mb_check_encoding - 检查字符串在指定的编码里是否有效
版本支持
PHP4
|
PHP5
|
PHP7
|
v4.4.3+支持
|
v5.1.3+支持
|
支持
|
语法
-
mb_check_encoding( [ string $var = NULL [, string $encoding = mb_internal_encoding() ]] )
mb_check_encoding() 检查指定的字节流在指定的编码里是否有效。它能有效避免所谓的“无效编码攻击(Invalid Encoding Attack)”。
参数
参数
|
必需的
|
描述
|
var
|
否
|
要检查的字节流。如果省略了这个参数,此函数会检查所有来自最初请求所有的输入。
|
encoding
|
否
|
期望的编码。
|
示例
-
function checkEncoding ( $string, $string_encoding )
-
{
-
$fs = $string_encoding == 'UTF-8' ? 'UTF-32' : $string_encoding;
-
$ts = $string_encoding == 'UTF-32' ? 'UTF-8' : $string_encoding;
-
return $string === mb_convert_encoding ( mb_convert_encoding ( $string, $fs, $ts ), $ts, $fs );
-
}
-
function detectEncoding($string)
-
{
-
$arr_encodings = [
-
'CP1251',
-
'UCS-2LE',
-
'UCS-2BE',
-
'UTF-8',
-
'UTF-16',
-
'UTF-16BE',
-
'UTF-16LE',
-
'CP866',
-
];
-
foreach($arr_encodings as $encoding){
-
if (checkEncoding($string, $encoding)){
-
return $encoding;
-
}
-
}
-
return false;
-
}
-
$str = 'test';
-
var_dump(detectEncoding($str));
相关知识
- 判断给定文件名是否是一个目录
- 返回一个 Directory 类实例
- 寻找与模式匹配的文件路径
- 打开目录句柄
- 对数组排序
阅读(1257) | 评论(0) | 转发(0) |