去除字符串中的非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;
}
welcome come back
讨论数量: 2
梦想星辰大海

Unicode是字符码表,UTF8是实现Unicode码表的编码姿势

1年前 评论

这个也可以: $content = preg_replace('/\p{C}+/u', "", $content);

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!