去除字符串中的非UTF8字符
$str = 'example🍃'; // example
$str = '💵example💵'; // example
$str = 'এ᭄ example💋ོꦿ࿐'; // এ᭄ exampleོꦿ࿐
// 过滤掉UTF-8编码范围内的字符
function clear_no_utf8($str) {
$filtered = preg_replace('/[\x{10000}-\x{10FFFF}]/u', '', $str);
return $filtered;
}
// 过滤emoji函数
function filterEmoji($str)
{
$str = preg_replace_callback( '/./u',
function (array $match) {
return strlen($match[0]) >= 4 ? '' : $match[0];
},
$str);
return $str;
}
Unicode是字符码表,UTF8是实现Unicode码表的编码姿势
这个也可以: $content = preg_replace('/\p{C}+/u', "", $content);