溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PHP如何使用正則過濾處理微信昵稱中emoji字符

發(fā)布時(shí)間:2021-07-30 14:40:42 來源:億速云 閱讀:144 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹PHP如何使用正則過濾處理微信昵稱中emoji字符,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

具體如下:

今天剛做了一個(gè)微信應(yīng)用,在獲取微信昵稱的過程中報(bào)錯(cuò)了,經(jīng)查原因是微信昵稱中包含emoji字符,在寫入數(shù)據(jù)庫的時(shí)候出錯(cuò),所以想辦法在寫入之前把這些字符過濾掉,于是在網(wǎng)上找到一個(gè)方法,記錄一下。

移除微信昵稱中的emoji字符:

function removeEmoji($nickname) {
  $clean_text = "";
  // Match Emoticons
  $regexEmoticons = '/[\x{1F600}-\x{1F64F}]/u';
  $clean_text = preg_replace($regexEmoticons, '', $text);
  // Match Miscellaneous Symbols and Pictographs
  $regexSymbols = '/[\x{1F300}-\x{1F5FF}]/u';
  $clean_text = preg_replace($regexSymbols, '', $clean_text);
  // Match Transport And Map Symbols
  $regexTransport = '/[\x{1F680}-\x{1F6FF}]/u';
  $clean_text = preg_replace($regexTransport, '', $clean_text);
  // Match Miscellaneous Symbols
  $regexMisc = '/[\x{2600}-\x{26FF}]/u';
  $clean_text = preg_replace($regexMisc, '', $clean_text);
  // Match Dingbats
  $regexDingbats = '/[\x{2700}-\x{27BF}]/u';
  $clean_text = preg_replace($regexDingbats, '', $clean_text);
  return $clean_text;
}

另外還發(fā)現(xiàn)一個(gè)github開源應(yīng)用,還沒有研究測試。

https://github.com/iamcal/php-emoji

補(bǔ)充:今天又在網(wǎng)上找到一個(gè)更簡單的方法

// 過濾掉emoji表情
function filterEmoji($str)
{
  $str = preg_replace_callback( '/./u',
      function (array $match) {
        return strlen($match[0]) >= 4 ? '' : $match[0];
      },
      $str);
   return $str;
}

以上是“PHP如何使用正則過濾處理微信昵稱中emoji字符”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI