|
@@ -5,6 +5,53 @@ var host = (function () {
|
|
|
})();
|
|
|
|
|
|
|
|
|
+var Expression = {
|
|
|
+ utf16toEntities:function(str)
|
|
|
+ {
|
|
|
+ var patt=/[\ud800-\udbff][\udc00-\udfff]/g;
|
|
|
+ // 检测utf16字符正则
|
|
|
+ str = str.replace(patt, function(char)
|
|
|
+ {
|
|
|
+ var H, L, code;
|
|
|
+ if (char.length===2) {
|
|
|
+ H = char.charCodeAt(0);
|
|
|
+ // 取出高位
|
|
|
+ L = char.charCodeAt(1);
|
|
|
+ // 取出低位
|
|
|
+ code = (H - 0xD800) * 0x400 + 0x10000 + L - 0xDC00;
|
|
|
+ // 转换算法
|
|
|
+ return "!XMMZ!" + code + ";";
|
|
|
+ } else {
|
|
|
+ return char;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return str;
|
|
|
+ },
|
|
|
+ entitiestoUtf16:function(str)
|
|
|
+ {
|
|
|
+ // 检测出形如〹形式的字符串
|
|
|
+ var strObj=this.utf16toEntities(str);
|
|
|
+ var patt = /!XMMZ!\d+;/g;
|
|
|
+ var H,L,code;
|
|
|
+
|
|
|
+ var arr = strObj.match(patt)||[];
|
|
|
+ for (var i=0;i<arr.length;i++)
|
|
|
+ {
|
|
|
+ code = arr[i];
|
|
|
+ code=code.replace('!XMMZ!','').replace(';','');
|
|
|
+ // 高位
|
|
|
+ H = Math.floor((code-0x10000) / 0x400)+0xD800;
|
|
|
+ // 低位
|
|
|
+ L = (code - 0x10000) % 0x400 + 0xDC00;
|
|
|
+ code = "!XMMZ!"+code+";";
|
|
|
+ var semojj = String.fromCharCode(H,L);
|
|
|
+ strObj = strObj.replace(code,semojj);
|
|
|
+ }
|
|
|
+ return strObj;
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+
|
|
|
(function(){
|
|
|
if($('.button_null.button_vote').length >0 && $('.button_null.button_vote').text().indexOf('已经')) {
|
|
|
$('input[type="radio"]').attr('disabled', 'disabled');
|
|
@@ -350,7 +397,7 @@ var ReplyItem = function (comment, members) {
|
|
|
'<div class="like">' + isLike() +
|
|
|
'</div>' +
|
|
|
'</div>' +
|
|
|
- '<p class="msg">' + commentdata['content'] + sub +
|
|
|
+ '<p class="msg">' + Expression.entitiestoUtf16(commentdata['content']) + sub +
|
|
|
'</p>' + load_btn +
|
|
|
'</div>';
|
|
|
return html;
|
|
@@ -360,7 +407,7 @@ var ReplyItem = function (comment, members) {
|
|
|
'<span class="reply_people" data-comment_id="' + comment['comment_id'] + '">' + proxy().getNickName(comment['user_id']) + '</span>' +
|
|
|
'回复' +
|
|
|
'<span class="reply_people" data-comment_id="' + comment['comment_id'] + '" data-response_id="' + comment['response_id'] + '">' +
|
|
|
- proxy().getNickName(comment['to_user']) + '</span>:' + comment['content'] + '</p>';
|
|
|
+ proxy().getNickName(comment['to_user']) + '</span>:' + Expression.entitiestoUtf16(comment['content']) + '</p>';
|
|
|
return subHtml;
|
|
|
};
|
|
|
var empty = function () {
|
|
@@ -549,7 +596,7 @@ var CommentsBox = function () {
|
|
|
return;
|
|
|
}
|
|
|
$('.loader').show();
|
|
|
- var textVal = $('#comments').val();
|
|
|
+ var textVal = Expression.utf16toEntities($('#comments').val());
|
|
|
if (Comment_type == 'special_id') {
|
|
|
url = host + '/mobile/index.php?act=member_ugc&op=comment&client_type=ajax&special_id=' + specialId + '&content=' + encodeURI(textVal);
|
|
|
get_ajax(url, function (data) {
|