したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。

bbs2chreader/chaika 避難所 ★3

611名無しさん:2015/11/19(木) 08:03:38 ID:nDhN23/Y0
【悲報😅】嫌儲で顔文字スレタイが増殖❕❕
http://fox.2ch.net/test/read.cgi/poverty/1447851975/

chaikaというかFirefoxがだがサロゲートペア領域の文字は正しく表示されない
コードポイントで表記し直せば問題ない


変換コードの一例

SPtoCP: function(aStrings) {
// サロゲートペアをコードポイントに変換
aStrings = aStrings.replace(/&#(\d+);&#(\d+);|&#x([A-Fa-f0-9]{4});&#x([A-Fa-f0-9]{4});/g,
function(aStr, ahighSPd, alowSPd, ahighSPx, alowSPx) {
var highSP = ahighSPd ? parseInt(ahighSPd, 10) : parseInt(ahighSPx, 16);
var lowSP = alowSPd ? parseInt(alowSPd, 10) : parseInt(alowSPx, 16);
if((highSP > 0xD7FF && highSP < 0xDC00) && (lowSP > 0xDBFF && lowSP < 0xE000)) {
var CP = (((highSP & 0x3FF) << 10) | (lowSP & 0x3FF)) + 0x10000;
return '&#x' + CP.toString(16) + ';';
} else {
highSP = ahighSPd ? ahighSPd : 'x' + ahighSPx;
lowSP = alowSPd ? alowSPd : 'x' + alowSPx;
return '&#' + highSP + ';&#' + lowSP + ';';
}
});
// Apple Color Emoji等の EVS(絵文字バリエーション・シーケンス)は削除
aStrings = aStrings.replace(/&#(?:6503[89]|xFE0[EF]|xfe0[ef]);/g, '');
return aStrings;
},


これを例えば

if(this.thread.title.indexOf('&#') != -1)
this.thread.title = ChaikaCore.io.SPtoCP(this.thread.title);

って感じで処理させる
対象はスレタイ、名前欄、メール欄、レス本文




掲示板管理者へ連絡 無料レンタル掲示板