函数名:mb_scrub()
适用版本:PHP 8.0.0+
用法:mb_scrub()函数用于清理字符串中的非法字符,并将其转换为合法的字符编码。它可以解决一些字符编码问题,特别是在处理用户输入或从外部源接收数据时。
语法:mb_scrub(string $str [, string $enc = mb_internal_encoding()]): string|false
参数:
- $str:要清理的字符串。
- $enc:可选参数,指定要使用的字符编码。如果未指定,则默认使用内部字符编码。
返回值:
- 如果成功清理字符串,则返回清理后的字符串。
- 如果无法清理字符串,则返回false。
示例:
$str = "Héllø, Wørld!";
$cleanedStr = mb_scrub($str);
echo $cleanedStr;
// 输出:Héllø, Wørld!
$invalidStr = "Héllø \x80 Wørld!";
$cleanedStr = mb_scrub($invalidStr);
echo $cleanedStr;
// 输出:Héllø ? Wørld!
注意事项:
- mb_scrub()函数仅在PHP 8.0.0及更高版本中可用。
- 如果指定的字符编码无效或不支持,函数将使用内部字符编码进行清理。
- 如果无法清理整个字符串,函数将尽可能清理字符串的一部分,并返回清理后的部分字符串。
- mb_scrub()函数不会修改原始字符串,而是返回一个新的清理后的字符串。