在PHP中處理表情符號(emoji)時,可以使用mb_convert_encoding()
函數將表情符號轉換為適當的編碼格式。通常,表情符號使用UTF-8編碼,但有時它們可能使用其他編碼,如UTF-16或UTF-32。
以下是一個示例,展示了如何使用mb_convert_encoding()
函數過濾和轉換表情符號:
function filter_emoji($text) {
// 將文本轉換為UTF-8編碼
$text_utf8 = mb_convert_encoding($text, 'UTF-8', 'auto');
// 使用preg_replace()過濾掉不需要的字符
$filtered_text = preg_replace('/[^\p{L}\p{N}\p{P}\p{S}\p{Z}\x{1F300}-\x{1F5FF}\x{1F600}-\x{1F64F}\x{1F680}-\x{1F6FF}\x{1F700}-\x{1F77F}\x{1F780}-\x{1F7FF}\x{1F800}-\x{1F8FF}\x{1F900}-\x{1F9FF}\x{1FA00}-\x{1FA6F}\x{1FA70}-\x{1FAFF}\x{1FB00}-\x{1FB4F}\x{1FB50}-\x{1FBFF}\x{1FC00}-\x{1FC4F}\x{1FC50}-\x{1FCFF}\x{1FD00}-\x{1FD3F}\x{1FD40}-\x{1FDFF}\x{1FE00}-\x{1FE0F}\x{1FE10}-\x{1FE1F}\x{1FE20}-\x{1FE2F}\x{1FE30}-\x{1FE3F}\x{1FE40}-\x{1FE4F}\x{1FE50}-\x{1FE5F}\x{1FE60}-\x{1FE6F}\x{1FE70}-\x{1FE7F}\x{1FE80}-\x{1FE8F}\x{1FE90}-\x{1FE9F}\x{1FEA0}-\x{1FEAF}\x{1FEB0}-\x{1FEFF}\x{2600}-\x{26FF}\x{2700}-\x{27BF}\x{1F1E6}-\x{1F1FF}\x{1F300}-\x{1F5FF}\x{1F600}-\x{1F64F}\x{1F680}-\x{1F6FF}\x{1F700}-\x{1F77F}\x{1F780}-\x{1F7FF}\x{1F800}-\x{1F8FF}\x{1F900}-\x{1F9FF}\x{1FA00}-\x{1FA6F}\x{1FA70}-\x{1FAFF}\x{1FB00}-\x{1FB4F}\x{1FB50}-\x{1FBFF}\x{1FC00}-\x{1FC4F}\x{1FC50}-\x{1FCFF}\x{1FD00}-\x{1FD3F}\x{1FD40}-\x{1FDFF}\x{1FE00}-\x{1FE0F}\x{1FE10}-\x{1FE1F}\x{1FE20}-\x{1FE2F}\x{1FE30}-\x{1FE3F}\x{1FE40}-\x{1FE4F}\x{1FE50}-\x{1FE5F}\x{1FE60}-\x{1FE6F}\x{1FE70}-\x{1FE7F}\x{1FE80}-\x{1FE8F}\x{1FE90}-\x{1FE9F}\x{1FEA0}-\x{1FEAF}\x{1FEB0}-\x{1FEFF}\x{2600}-\x{26FF}\x{2700}-\x{27BF}\x{1F1E6}-\x{1F1FF}\x{1F300}-\x{1F5FF}\x{1F600}-\x{1F64F}\x{1F680}-\x{1F6FF}\x{1F700}-\x{1F77F}\x{1F780}-\x{1F7FF}\x{1F800}-\x{1F8FF}\x{1F900}-\x{1F9FF}\x{1FA00}-\x{1FA6F}\x{1FA70}-\x{1FAFF}\x{1FB00}-\x{1FB4F}\x{1FB50}-\x{1FBFF}\x{1FC00}-\x{1FC4F}\x{1FC50}-\x{1FCFF}\x{1FD00}-\x{1FD3F}\x{1FD40}-\x{1FDFF}\x{1FE00}-\x{1FE0F}\x{1FE10}-\x{1FE1F}\x{1FE20}-\x{1FE2F}\x{1FE30}-\x{1FE3F}\x{1FE40}-\x{1FE4F}\x{1FE50}-\x{1FE5F}\x{1FE60}-\x{1FE6F}\x{1FE70}-\x{1FE7F}\x{1FE80}-\x{1FE8F}\x{1FE90}-\x{1FE9F}\x{1FEA0}-\x{1FEAF}\x{1FEB0}-\x{1FEFF}\x{2600}-\x{26FF}\x{2700}-\x{27BF}\x{1F1E6}-\x{1F1FF}\x{1F300}-\x{1F5FF}\x{1F600}-\x{1F64F}\x{1F680}-\x{1F6FF}\x{1F700}-\x{1F77F}\x{1F780}-\x{1F7FF}\x{1F800}-\x{1F8FF}\x{1F900}-\x{1F9FF}\x{1FA00}-\x{1FA6F}\x{1FA70}-\x{1FAFF}\x{1FB00}-\x{1FB4F}\x{1FB50}-\x{1FBFF}\x{1FC00}-\x{1FC4F}\x{1FC50}-\x{1FCFF}\x{1FD00}-\x{1FD3F}\x{1FD40}-\x{1FDFF}\x{1FE00}-\x{1FE0F}\x{1FE10}-\x{1FE1F}\x{1FE20}-\x{1FE2F}\x{1FE30}-\x{1FE3F}\x{1FE40}-\x{1FE4F}\x{1FE50}-\x{1FE5F}\x{1FE60}-\x{1FE6F}\x{1FE70}-\x{1FE7F}\x{1FE80}-\x{1FE8F}\x{1FE90}-\x{1FE9F}\x{1FEA0}-\x{1FEAF}\x{1FEB0}-\x{1FEFF}\x{2600}-\x{26FF}\x{2700}-\x{27BF}\x{1F1E6}-\x{1F1FF}\x{1F300}-\x{1F5FF}\x{1F600}-\x{1F64F}\x{1F680}-\x{1F6FF}\x{1F700}-\x{1F77F}\x{1F780}-\x{1F7FF}\x{1F800}-\x{1F8FF}\x{1F900}-\x{1F9FF}\x{1FA00}-\x{1FA6F}\x{1FA70}-\x{1FAFF}\x{1FB00}-\x{1FB4F}\x{1FB50}-\x{1FBFF}\x{1FC00}-\x{1FC4F}\x{1FC50}-\x{1FCFF}\x{1FD00}-\x{1FD3F}\x{1FD40}-\x{1FDFF}\x{1FE00}-\x{1FE0F}\x{1FE10}-\x{1FE1F}\x{1FE20}-\x{1FE2F}\x{1FE30}-\x{1FE3F}\x{1FE40}-\x{1FE4F}\x{1FE50}-\x{1FE5F}\x{1FE60}-\x{1FE6F}\x{1FE70}-\x{1FE7F}\x{1FE80}-\x{1FE8F}\x{1FE90}-\x{1FE9F}\x{1FEA0}-\x{1FEAF}\x{1FEB0}-\x{1FEFF}\x{2600}-\x{26FF}\x{2700}-\x{27BF}\x{1F1E6}-\x{1F1FF}\x{1F300}-\x{1F5FF}\x{1F600}-\x{1F64F}\x{1F680}-\x{1F6FF}\x{1F700}-\x{1F77F}\x{1F780}-\x{1F7FF}\x{1F800}-\x{1F8FF}\x{1F900}-\x{1F9FF}\x{1FA00}-\x{1FA6F}\x{1FA70}-\x{1FAFF}\x{1FB00}-\x{1FB4F}\x{1FB50}-\x{1FBFF}\x{1FC00}-\x{1FC4F}\x{1FC50}-\x{1FCFF}\x{1FD00}-\x{1FD3F}\x{1FD40}-\x{1FDFF}\x{1FE00}-\x{1FE0F}\x{1FE10}-\x{1FE1F}\x{1FE20}-\x{1FE2F}\x{1FE30}-\x{1FE3F}\x{1FE40}-\x{1FE4F}\x{1FE50}-\x{1FE5F}\x{1FE60}-\x{1FE6F}\x{1FE70}-\x{1FE7F}\x{1FE80}-\x{1FE8F}\x{1FE90}-\x{1FE9F}\x{1FEA0}-\x{1FEAF}\x{1FEB0}-\x{1FEFF}\x{2600}-\x{26FF}\x{2700}-\x{27BF}\x{1F1E6}-\x{1F1FF}\x{1F300}-\x{1F5FF}\x{1F600}-\x{1F64F}\x{1F680}-\x{1F6FF}\x{1F700}-\x{1F77F}\x{1F780}-\x{1F7FF}\x{1F800}-\x{1F8FF}\x{1F900}-\x{1F9FF}\x{1FA00}-\x{1FA6F}\x{1FA70}-\x{1FAFF}\x{1FB00}-\x{1FB4F}\x{1FB50}-\x{1FBFF}\x{1FC00}-\x{1FC4F}\x{1FC50}-\x{1FCFF}\x{1FD00}-\x{1FD3F}\x{1FD40}-\x{1FDFF}\x{1FE00}-\x{1FE0F}\x{1FE10}-\x{1FE1F}\x{1FE20}-\x{1FE2F}\x{1FE30}-\x{1FE3F}\x{1FE40}-\x{1FE4F}\x{1FE50}-\x{1FE5F}\x{1FE60}-\x{1FE6F}\x{1FE70}-\x{1FE7F}\x{1FE80}-\x{1FE8F}\x{1FE90}-\x{1FE9F}\x{1FEA0}-\x{1FEAF}\x{1FEB0}-\x{1FEFF}\x{2600}-\x{26FF}\x{2700}-\x{27BF}\x{1F1E6}-\x{1F1FF}\x{1F300}-\x{1F5FF}\x{1F600}-\x{1F64F}\x{1F680}-\x{1F6FF}\x{1F700}-\x{1F77F}\x{1F780}-\x{1F7FF}\x{1F800}-\x{1F8FF}\x{1F900}-\x{1F9FF}\x{1FA00}-\x{1FA6F}\x{1FA70}-\x{1FAFF}\x{1FB00}-\x{1FB4F}\x{1FB50}-\x{1FBFF}\x{1FC00}-\x{1FC4F}\x{1FC50}-\x{1FCFF}\x{1FD00}-\x{1FD3F}\x{1FD40}-\x{1FDFF}\x{1FE00}-\x{1FE0F}\x{1FE10}-\x{1FE1F}\x{1FE20}-\x{1FE2F}\x{1FE30}-\x{1FE3F}\x{1FE40}-\x{1FE4F}\x{1FE50}-\x{1FE5F}\x{1FE60}-\x{1FE6F}\x{1FE70}-\x{1FE7F}\x{1FE80}-\x{1FE8F}\x{1FE90}-\x{1FE9F}\x{1FEA0}-\x{1FEAF}\x{1FEB0}-\x{1FEFF}\x{2600}-\x{26FF}\x{2700}-\x{27BF}\x{1F1E6}-\x{1F1FF}\x{1F300}-\x{1F5FF}\x{1F600}-\x{1F64F}\x{1F680}-\x{1F6FF}\x{1F700}-\x{1F77F}\x{1F780}-\x{1F7FF}\x{1F800}-\x{1F8FF}\x{1F900}-\x{1F9FF}\x{1FA00}-\x{1FA6F}\x{1FA70}-\x{1FAFF}\x{1FB00}-\x{1FB4F}\x{1FB50}-\x{1FBFF}\x{1FC00}-\x{1FC4F}\x{1FC50}-\x{1FCFF}\x{1FD00}-\x{1FD3F}\x{1FD40}-\x{1FDFF}\x{1FE00}-\x{1FE0F}\x{1FE10}-\x{1FE1F}\x{1FE20}-\x{1FE2F}\x{1FE30}-\x{1FE3F}\x{1FE40}-\x{1FE4F}\x{1FE50}-\x{1FE5F}\x{1FE60}-\x{1FE6F}\x{1FE70}-\x{1FE7F}\x{1FE80}-\x{1FE8F}\x{1FE90}-\x{1FE9F}\x{1FEA0}-\x{1FEAF}\x{1FEB0}-\x{1FEFF}\x{2600}-\x{26FF}\x{2700}-\x{27BF}\x{1F1E6}-\x{1F1FF}\x{1F300}-\x{1F5FF}\x{1F600}-\x{1F64F}\x{1F680}-\x{1F6FF}\x{1F700}-\x{1F77F}\x{1F780}-\x{1F7FF}\x{1F800}-\x{1F8FF}\x{1F900}-\x{1F9FF}\x{1FA00}-\x{1FA6F}\x{1FA70}-\x{1FAFF}\x