2017-04-07 71 views
1

我想列出一個PHP或JS函數的Unicode表情符號,但我找不到一種方法來做到這一點。 Vim不能很好地顯示Unicode表情符號,我不能粘貼它,因爲它會打破我的換行符和奇怪的東西。函數列出unicode表情符

我以爲我可以使用Unicode代碼(如U + 1F600)並做一些增量,但有人可以解釋如何做到這一點。

編輯:TIL一些英語,對不起我的英文不好

編輯2: 我用我的爐火使這個功能,如果你想使用它,是我的客人!

<?php 
// Function used to get a list of emojis (Unicode) 
// She takes ranges of unicode decimal 
// Find hexadecimal here : http://apps.timwhitlock.info/emoji/tables/unicode 
// Convert in decimal here : http://www.binaryhexconverter.com/hex-to-decimal-converter 
// Already organised for my taste but fully customisable 
// Use larger ranges like 128512 - 130000 to see your Unicode Browser compatibilty 
// 
// @Mobidi 
function myEmojis($emojiRanges) { 

     $_result = array(); 

     foreach ($emojiRanges as $start => $end) 
     { 
       $current = $start; 
       while ($current != $end) { 
         $_result['Emoji n°'.$current.''] = mb_convert_encoding(pack("N*", $current), "UTF-8", "UTF-32BE"); 
         $current ++; 
       } 
     } 

     return $_result; 
} 
//Key = Start, Value = End. 
$emojiRangesCustom = array(
'128512' => '128590', 
'129296' => '129310', 
'129312' => '129319', 
'127744' => '128511', 
'128640' => '128705', 
'129296' => '129310', 
'129312' => '129319', 
'129360' => '129374', 
'129408' => '129425' 
); 
$emojiMerge = myEmojis($emojiRangesCustom); 

?> 
<div style="font-size:24px;text-align:justify"> 
     <?php 
     //While listing everything ! See you next time 
     foreach($emojiMerge as $keys => $emoji) { 
       echo '<a href="#" title="'.$keys.'">'.$emoji.'</a> '; 
     } 
     ?> 
</div> 

回答

4

使用此table of emoj

在其他版本的PHP你應該json_decode

echo json_decode('"\uD83D\uDE00"'); 
     

呼應,但如果你使用PHP 7

現在,您不再需要使用json_decode並且可以使用\ u和unicode文字:

echo "\u{1F30F}"; 

或者你可以只使用試試這個other 你需要在github上下載,並在項目中包含它只是改變了類=「名」,它會產生emoj

+0

非常感謝您的回答,我在第一個鏈接上找到了很多信息。 – Mobidi

+0

父親,我做了一個功能,請告訴我她看起來不錯! – Mobidi

+0

是的,這很好。 –

相關問題