Handling emoji Expressions (Unicode)
Available for Android and IOS
/**
* @brief kill emoji
* @autho chenjinya@baidu.com
* @param {string} $strText
* @return {string} Removeemoji
**/
static function Escapeemoji ($strText, $bool = False) {
$preg = '/\\\ud ([8-9a-f][ 0-9A-Z]{2})/I ';
if ($bool = = True) {
$boolPregRes = (Preg_match ($preg, Json_encode ($strText, True));
return $boolPregRes;
} else {
$strPregRes = (preg_replace ($preg, ', Json_encode ($strText, True));
$strRet = Json_decode ($strPregRes, true);
return $strRet;
}
Principle:
PHP is not able to parse the Unicode character after D800
The general emoji is between D800 and D8ff (Chinese is: 4E00-9FBF)
Write like this
$preg = '/[\x{d800}-\x{d8ff}]+/iu ';
is invalid.
So it can only be converted to Unicode through Json_encode, and then the Unicode character is processed by regular, and then the normal string is reversed.