PHP:编写一个简单的removeEmoji函数

我正在寻找一个简单的功能,可以从instagram评论中删除表情符号字符。我现在已经尝试过的内容(带有在SO和其他网站上找到的示例中的许多代码):


// PHP class

public static function removeEmoji($string)

{

    // split the string into UTF8 char array

    // for loop inside char array

        // if char is emoji, remove it

    // endfor

    // return newstring

}

任何帮助,将不胜感激


浮云间
浏览 583回答 3
3回答

慕容3067478

使用更多代码更新了正确答案,只剩下了几个表情符号。public static function removeEmoji($text) {    $clean_text = "";    // Match Emoticons    $regexEmoticons = '/[\x{1F600}-\x{1F64F}]/u';    $clean_text = preg_replace($regexEmoticons, '', $text);    // Match Miscellaneous Symbols and Pictographs    $regexSymbols = '/[\x{1F300}-\x{1F5FF}]/u';    $clean_text = preg_replace($regexSymbols, '', $clean_text);    // Match Transport And Map Symbols    $regexTransport = '/[\x{1F680}-\x{1F6FF}]/u';    $clean_text = preg_replace($regexTransport, '', $clean_text);    // Match Miscellaneous Symbols    $regexMisc = '/[\x{2600}-\x{26FF}]/u';    $clean_text = preg_replace($regexMisc, '', $clean_text);    // Match Dingbats    $regexDingbats = '/[\x{2700}-\x{27BF}]/u';    $clean_text = preg_replace($regexDingbats, '', $clean_text);    // Match Flags    $regexDingbats = '/[\x{1F1E6}-\x{1F1FF}]/u';    $clean_text = preg_replace($regexDingbats, '', $clean_text);    // Others    $regexDingbats = '/[\x{1F910}-\x{1F95E}]/u';    $clean_text = preg_replace($regexDingbats, '', $clean_text);    $regexDingbats = '/[\x{1F980}-\x{1F991}]/u';    $clean_text = preg_replace($regexDingbats, '', $clean_text);    $regexDingbats = '/[\x{1F9C0}]/u';    $clean_text = preg_replace($regexDingbats, '', $clean_text);    $regexDingbats = '/[\x{1F9F9}]/u';    $clean_text = preg_replace($regexDingbats, '', $clean_text);    return $clean_text;}
打开App,查看更多内容
随时随地看视频慕课网APP