第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP 將表情符號保留在 unicode 中,但也將文本保留為純文本

PHP 將表情符號保留在 unicode 中,但也將文本保留為純文本

PHP
躍然一笑 2021-11-19 16:51:37
我有這個功能可以將表情符號轉(zhuǎn)換為 unicode,但它也將文本轉(zhuǎn)換為十六進(jìn)制。如何只轉(zhuǎn)換表情符號并將文本保留為純文本字符串?function emoji_to_unicode($emoji) {   $emoji = mb_convert_encoding($emoji, 'UTF-32', 'UTF-8');   $unicode = strtoupper(preg_replace("/^[0]{3}/","U+",bin2hex($emoji)));   return $unicode;}$var = ("??x??text here");$out = '';for ($i = 0; $i < mb_strlen($var); $i++) {    $out .= emoji_to_unicode(mb_substr($var, $i, 1));}echo "$out\n";所以$var = ("??x??text here");返回給我:U+1F600U+00078U+1F600U+00074U+00065U+00078U+00074U+00020U+00068U+00065U+00072U+00065但我需要像這樣返回:U+1F600xU+1F600text here我需要將文本保留為純文本,但也需要將表情符號保留為 unicode 格式。
查看完整描述

1 回答

?
阿晨1998

TA貢獻(xiàn)2037條經(jīng)驗 獲得超6個贊

Intl 擴(kuò)展提供了處理 unicode代碼點(diǎn)和塊的函數(shù),這些函數(shù)將允許您確定當(dāng)前字符是否是表情符號。


function emoji_to_unicode($emoji) {

   $emoji = mb_convert_encoding($emoji, 'UTF-32', 'UTF-8');

   $unicode = strtoupper(preg_replace("/^[0]{3}/","U+",bin2hex($emoji)));

   return $unicode;

}


$var = ("??x??text here");

$out = '';

for ($i = 0; $i < mb_strlen($var); $i++) {

    $char = mb_substr($var, $i, 1);

    $isEmoji = IntlChar::getBlockCode(IntlChar::ord($char)) == IntlChar::BLOCK_CODE_EMOTICONS;

    $out .= $isEmoji ? emoji_to_unicode($char) : $char;

}


echo $out;

這是您可以在其中找到所有塊的預(yù)定義常量列表。


查看完整回答
反對 回復(fù) 2021-11-19
  • 1 回答
  • 0 關(guān)注
  • 279 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號