php emoji表情处理

Jul 29, 2016 am 09:02 AM
emoji str

背景

移动设备经常会发生用户发送的内容中包含emoji表情,未经处理,在显示时就是乱码。

解决方案

1.数据库支持:将Mysql的编码从utf8转换成utf8mb4。 

2.匹配出内容中的emoji表情做过滤或替换

/**
 * 表情转换  更新到ios9.2涵盖编码范围
 * @param $str
 * @return mixed
 */
public static function emoji_to_html($str) {
    $regex = '/([0-9|#][\x{20E3}])|[\x{00ae}|\x{00a9}|\x{203C}|\x{2047}|\x{2048}|\x{2049}|\x{3030}|\x{303D}|\x{2139}|\x{2122}|\x{3297}|\x{3299}][\x{FE00}-\x{FEFF}]?|[\x{2190}-\x{21FF}][\x{FE00}-\x{FEFF}]?|[\x{2300}-\x{23FF}][\x{FE00}-\x{FEFF}]?|[\x{2460}-\x{24FF}][\x{FE00}-\x{FEFF}]?|[\x{25A0}-\x{25FF}][\x{FE00}-\x{FEFF}]?|[\x{2600}-\x{27BF}][\x{FE00}-\x{FEFF}]?|[\x{2900}-\x{297F}][\x{FE00}-\x{FEFF}]?|[\x{2B00}-\x{2BF0}][\x{FE00}-\x{FEFF}]?|[\x{1F000}-\x{1F6FF}][\x{FE00}-\x{FEFF}]?|[\x{1F900}-\x{1F9FF}][\x{FE00}-\x{FEFF}]?/u';
    $str = preg_replace_callback($regex,function($matches){
        $str = json_encode($matches[0]);
        $str = '<em data-emoji="'" . str_replace></em>';
        return $str;
    },$str);
    return $str;
}
从数据库取出后再转回
$string = preg_replace_callback('/<em data-emoji='\"(.*?)\"'>/is', "self::preg_emoji", $string);
/**
 * 输出emoji表情
 * @param $matches
 * @return mixed
 */
public static function preg_emoji($matches)
{
    $str = $matches[0];
    $str = str_replace('em:', '\u', $str);
    return $str;
}</em>
Copier après la connexion
3.直接过滤掉
/**
 * 过滤表情
 * @param $str
 * @return mixed
 */
public static function filter_emoji($str) {
    $regex = '/(\\\u[ed][0-9a-f]{3})/i';
    $str = json_encode($str);
    $str = preg_replace($regex, '', $str);
    return json_decode($str);
}
Copier après la connexion

以上就介绍了php emoji表情处理,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Apple lance iOS 17.4 Beta 1, introduisant 118 nouveaux emojis, dont phénix, citron vert, etc. Apple lance iOS 17.4 Beta 1, introduisant 118 nouveaux emojis, dont phénix, citron vert, etc. Jan 26, 2024 am 08:24 AM

Selon des rapports du 26 janvier, selon le média technologique étranger emojipedia, dans la mise à jour iOS 17.4 Beta 1 publiée aujourd'hui, en plus d'améliorations majeures telles que le chargement latéral et les magasins d'applications tiers pour les tests dans 27 pays de l'UE, Apple a également ajouté plusieurs nouvel Émoji. La mise à jour iOS 17.4 Beta 1 ajoute du phénix, du citron vert, des visages souriants secouant la tête de haut en bas, ainsi qu'une série d'émoticônes de personnages qui montrent la voie, à partir de la mise à jour Emoji 15.1 proposée par Unicode en septembre 2023. Les Emoji complets sont joints comme suit : Cette mise à jour ajoute un total de 118 Emojis, dont 6 nouveaux Emojis et 4 Emojis familiaux non sexistes. De plus, il existe 6 expressions de caractères existantes

Comment désactiver les emoji dans Win10 Education Edition Comment désactiver les emoji dans Win10 Education Edition Feb 24, 2024 pm 01:55 PM

Les émoticônes Emoji sont la dernière fonction de méthode de saisie ajoutée à Win10 Education Edition. De nombreuses émoticônes mignonnes rendent le chat moins ennuyeux. Cependant, certains utilisateurs afficheront cette interface lorsqu'ils utiliseront les touches de raccourci. Aujourd'hui, je vais vous montrer comment désactiver les emoji dans Win10 Education Edition. . introduire. Comment désactiver emoji1 dans Win10 Education Edition Tout d'abord, vous devez cliquer avec le bouton droit sur la méthode de saisie sur le côté droit de la barre des tâches ci-dessous. 2. Sélectionnez Paramètres dans la boîte d'options contextuelle pour accéder à l'interface de configuration de la langue. 3. Sélectionnez l'option « Touches » dans l'interface et faites défiler vers le bas pour trouver « Ouvrir le panneau d'émoticônes et de symboles », où vous pouvez désactiver les expressions emoji. 4. Si d'autres méthodes de saisie sont installées, vous pouvez accéder à l'interface « Paramètres et langue » à partir des paramètres Windows, puis sélectionner

Comment saisir les emoji Huawei Comment saisir les emoji Huawei Sep 26, 2023 pm 01:31 PM

Méthode de saisie des emoji Huawei : 1. Les téléphones mobiles Huawei sont livrés avec un clavier emoji. Vous pouvez passer au clavier pour saisir des emoji lorsque vous saisissez du texte. 2. Lorsque vous devez saisir un emoji, appuyez longuement sur la zone de saisie, puis sélectionnez « Entrée ». « Paramètres de la méthode », dans les paramètres de la méthode de saisie, vous pouvez rechercher et sélectionner la méthode de saisie des emoji fournie avec le système ; 3. Vous pouvez télécharger et utiliser un clavier emoji tiers, puis naviguer sur le clavier et sélectionner l'emoji que vous souhaitez utiliser.

iOS 15.4 et iPadOS 15.4 Beta 1 bêta publique publiés, Face ID peut être utilisé même si vous portez un masque iOS 15.4 et iPadOS 15.4 Beta 1 bêta publique publiés, Face ID peut être utilisé même si vous portez un masque Apr 13, 2023 pm 11:01 PM

Apple a officiellement lancé iOS 15.4 et iPadOS 15.4 Beta 1 au public, version 19E5209h. Les notes de mise à jour officielles répertorient de nombreux changements, notamment l'ajout de nouvelles fonctionnalités. Prise en charge des masques Face ID Apple a ajouté « Mask Face ID » dans iOS 15.4. L'iPhone authentifiera les utilisateurs en identifiant les caractéristiques uniques de la zone autour des yeux lorsqu'ils portent un masque. Notez que les utilisateurs doivent utiliser l'iPhone 12 ou une version ultérieure pour utiliser cette fonctionnalité. Ajout de 112 nouvelles expressions Emoji iOS 15.4 Beta 1 prend officiellement en charge Emoji 14. Ajoutez-y

Que faire si l'emoji mysql est tronqué Que faire si l'emoji mysql est tronqué Feb 16, 2023 am 10:01 AM

Solution aux emoji mysql tronqués : 1. Vérifiez l'encodage de la table mysql via la commande "show create table test ENGINE=InnoDB DEFAULT CHARSET=utf8mb4" ; 2. Définissez l'encodage de lecture sur "utf8mb4" via "set names utf8mb4 ;".

Analyse du code source str de type Python intégré Analyse du code source str de type Python intégré May 09, 2023 pm 02:16 PM

1L'unité de base du stockage informatique Unicode est l'octet, composé de 8 bits. Étant donné que l'anglais ne comprend que 26 lettres et un certain nombre de symboles, les caractères anglais peuvent être stockés directement en octets. Mais d'autres langues (comme le chinois, le japonais, le coréen, etc.) doivent utiliser plusieurs octets pour le codage en raison du grand nombre de caractères. Avec la diffusion de la technologie informatique, la technologie de codage des caractères non latins continue de se développer, mais il existe encore deux limitations majeures : pas de support multilingue : le schéma de codage d'une langue ne peut pas être utilisé dans une autre langue et il n'existe pas de norme unifiée : par exemple, il existe de nombreuses normes d'encodage en chinois telles que GBK, GB2312, GB18030, etc. Étant donné que les méthodes d'encodage ne sont pas unifiées, les développeurs doivent effectuer des conversions entre différents encodages, et de nombreuses erreurs se produiront inévitablement.

Quelles sont les similitudes et les différences entre __str__ et __repr__ en Python ? Quelles sont les similitudes et les différences entre __str__ et __repr__ en Python ? Apr 29, 2023 pm 07:58 PM

Quelles sont les similitudes et les différences entre __str__ et __repr__ ? Nous connaissons tous la représentation des chaînes. La fonction intégrée repr() de Python peut exprimer des objets sous forme de chaînes pour faciliter notre identification. Il s'agit de la "représentation sous forme de chaîne". repr() obtient la représentation sous forme de chaîne d'un objet via la méthode spéciale __repr__. Si __repr__ n'est pas implémenté, lorsque nous imprimons une instance d'un vecteur sur la console, la chaîne résultante peut l'être. >>>classExample:pass>>>print(str(Example()))>>>

iOS 15.4 Beta 5 introduit de nouvelles fonctionnalités : Face ID, anti-tracking AirTag, etc. iOS 15.4 Beta 5 introduit de nouvelles fonctionnalités : Face ID, anti-tracking AirTag, etc. Apr 21, 2023 am 08:10 AM

Apple propose iOS15.4Beta5 et iPadOS15.4Beta5 aux développeurs. On estime qu'il s'agit peut-être de la version bêta finale. Elle entrera probablement en phase RC la semaine prochaine et la version officielle sera publiée avant la mi-mars. Fonction anti-pistage AirTag La nouvelle version d'iOS 15.4 introduit les fonctions anti-pistage AirTag et FindMy précédemment annoncées par Apple, elles ont maintenant été introduites dans la version bêta 4. Elles ajoutent des messages d'avertissement et ajustent l'avertissement « accessoires inconnus détectés » lors de la conception de l'appairage. . La nouvelle option vocale de Siri Pour les utilisateurs américains, iOS15.4Beta4 a ajouté la cinquième voix Siri (nom de fichier : Quinn).

See all articles