PHP 正则过滤掉emoji 信息

1,026 阅读1分钟

过滤掉emoji 。 以及每项过滤掉对应emoji信息。

public static function removeEmoji($text)
{
    $cleanText = $text;
    
    //https://www.fuhaoku.net/block/Misc_Pictographs
    $regexSymbols = '/[\x{1F300}-\x{1F5FF}]/u';
    $cleanText = preg_replace($regexSymbols, '', $cleanText);

    //Match Supplemental Symbols and Pictographs
    //https://www.fuhaoku.net/block/Sup_Symbols_And_Pictographs
    $regexSupSymbols = '/[\x{1F900}-\x{1F9FF}]/u';
    $cleanText = preg_replace($regexSupSymbols, '', $cleanText);

    // Match Emoticons
    //https://www.fuhaoku.net/block/Emoticons
    $regexEmoticons = '/[\x{1F600}-\x{1F64F}]/u';
    $cleanText = preg_replace($regexEmoticons, '', $cleanText);

    // Match Transport And Map Symbols
    //https://www.fuhaoku.net/block/Transport_And_Map
    $regexTransport = '/[\x{1F680}-\x{1F6FF}]/u';
    $cleanText = preg_replace($regexTransport, '', $cleanText);

    // Match Miscellaneous Symbols
    //https://www.fuhaoku.net/block/Misc_Symbols
    $regexMisc = '/[\x{2600}-\x{26FF}]/u';
    $cleanText = preg_replace($regexMisc, '', $cleanText);

    // Match Dingbats
    //https://www.fuhaoku.net/block/Dingbats
    $regexDingbats = '/[\x{2700}-\x{27BF}]/u';
    $cleanText = preg_replace($regexDingbats, '', $cleanText);

    return $cleanText;
}