函式名: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()函式不會修改原始字串,而是返回一個新的清理後的字串。