网站制作学习网经验与学习→正文: php无法获取post输入法表情 消失
字体:

php无法获取post输入法表情 消失

经验与学习 2015/9/1 15:55:18  点击:不统计

学习www.网for站asp制.cn作
 在手机处理web项目中,在输入了默认的安卓(苹果)输入法默认的表情后,发现第一个表情后面的文字小时了,查找了一下原因 原来是在现在的手机系统中新增加了 emoji表情文字 有不同的编码形式。

Emoji定义表情 http://code.iamcal.com/php/emoji/
github 替换 emoji定义的表情   https://github.com/iamcal/php-emoji

还有个找到了的解决方案是替换为空。
http://www.oicqzone.com/qqjiqiao/2014123020664.html

//我复制上面的替换内容如下

使用的正则粗暴简单,选择了 ue000 – uefff 之间的字符视为emoji,暂时没有发现误伤
 
$str = preg_replace("#(\\\ue[0-9a-f]{3})#ie","addslashes('\\1')",$str); 
整个过程完整代码如下:
 
$postdata = "测试  hello 123"; //可以为收到的微信消息,可能包含二进制emoji表情字符串 
$tmpStr = json_encode($postdata ); //暴露出unicode 
$tmpStr = preg_replace("#(\\\ue[0-9a-f]{3})#ie","addslashes('\\1')",$tmpStr); //将emoji的unicode留下,其他不动 
$postdata = json_decode($tmpStr); 
  
echo $text;//测试 \ue415 hello 123 

转www.载for网站制作学习asp必.cn究

·上一篇:php post multipart/form-data 中文乱码 >>    ·下一篇:@ERROR: auth failed on module >>
推荐文章
最新文章