小程序
小游戏
企业微信
微信支付
扫描小程序码分享
有些文字从后台获取过来是类似 中国 的,在小程序中如何解析成字符
4 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
如果是用户输入了这种字符呢
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
var
hahaha =
'中 哈哈哈哈哈😄哈哈😄'
;
text = hahaha.replace(/&
#.{5,6};/g,function(res){
res = res.substring(2, res.length-1);
if
(res.indexOf(
'x'
) == 0) {
res = res.substring(1);
return
String.fromCodePoint(parseInt(res, 16));
}
String.fromCodePoint(parseInt(res, 10));
});
这个应该跟你的方式是一样的,谢谢了
这个正则解不出emoji
为什么您这个正则的&和#之间有个空格 ,我把空格删掉就解不出emoji了
没有空格,估计是代码插入工具的问题
unicode吧。我不是很熟。。如果你确定后台给你的这个是个String类型,我只知道很傻的方式
let a = "中国 "
let b = unescape(escape(a).replace(/%26%23x/ig,'%u').replace(/%3B/g,''))
console.log(b) 或者 String(b) 或者不需要额外处理了
试了下是可以的 能否麻烦您具体解释下是什么意思
unicode本来在html里的格式是 \u4e2d\u56fd。用正则直接把 &#x 进行替换成\u是不行的,只能是替换成\\u。所以用escape进行了编码(算是编码吧。。),& => %26,# => %23 ,\u => %u , ; => %3B 。然后用replace进行替换,将 &#x 替换成 \u ,将;替换成'',完成之后,再 unescape回来。
有些字符不是&#x开头的
贴出来看看呢
"볼빨간사춘기"
是一串韩文
https://www.baidu.com/link?url=IiQjFHwOPqIE3zyye-G83oAevsboacQcP74PKs5UkVMWR9n1bCTmJ3szBTyuSQH4f9TT_N5F1G-Wcw-7Cx5Foa&wd=&eqid=a6e427f30000fe5c000000045b15f26f
我试了一下,无法解析成字符
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
如果是用户输入了这种字符呢
var
hahaha =
'中 哈哈哈哈哈😄哈哈😄'
;
var
text = hahaha.replace(/&
#.{5,6};/g,function(res){
res = res.substring(2, res.length-1);
if
(res.indexOf(
'x'
) == 0) {
res = res.substring(1);
return
String.fromCodePoint(parseInt(res, 16));
}
return
String.fromCodePoint(parseInt(res, 10));
});
这个应该跟你的方式是一样的,谢谢了
这个正则解不出emoji
为什么您这个正则的&和#之间有个空格 ,我把空格删掉就解不出emoji了
没有空格,估计是代码插入工具的问题
unicode吧。我不是很熟。。如果你确定后台给你的这个是个String类型,我只知道很傻的方式
let a = "中国 "
let b = unescape(escape(a).replace(/%26%23x/ig,'%u').replace(/%3B/g,''))
console.log(b) 或者 String(b) 或者不需要额外处理了
试了下是可以的 能否麻烦您具体解释下是什么意思
unicode本来在html里的格式是 \u4e2d\u56fd。用正则直接把 &#x 进行替换成\u是不行的,只能是替换成\\u。所以用escape进行了编码(算是编码吧。。),& => %26,# => %23 ,\u => %u , ; => %3B 。然后用replace进行替换,将 &#x 替换成 \u ,将;替换成'',完成之后,再 unescape回来。
有些字符不是&#x开头的
贴出来看看呢
"볼빨간사춘기"
是一串韩文
https://www.baidu.com/link?url=IiQjFHwOPqIE3zyye-G83oAevsboacQcP74PKs5UkVMWR9n1bCTmJ3szBTyuSQH4f9TT_N5F1G-Wcw-7Cx5Foa&wd=&eqid=a6e427f30000fe5c000000045b15f26f
我试了一下,无法解析成字符