Reputation: 1558
I am trying to convert emoji to unicode with php , more info: https://unicode.org/emoji/charts/full-emoji-list.html
How to convert this 😃 into this U+1F603
with php?
function convert_emoji($var){
}
Upvotes: 4
Views: 6974
Reputation: 8171
The Intl
extension provides a function to return the codepoint for a character. As it returns an integer, you just need to convert it to a hex string.
function emoji_to_unicode($emoji) {
return sprintf('U+%X', IntlChar::ord($emoji));
}
Upvotes: 2
Reputation: 1558
I found a simple way to solve, so I will answer my own question, but if somebody would like to improve this function, would be cool.
<?php
function emoji_to_unicode($emoji) {
$emoji = mb_convert_encoding($emoji, 'UTF-32', 'UTF-8');
$unicode = strtoupper(preg_replace("/^[0]+/","U+",bin2hex($emoji)));
return $unicode;
}
$var = "😀";
echo emoji_to_unicode($var);
?>
Upvotes: 5