ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Opened 11 years ago

Closed 11 years ago

#2452 closed defect (fixed)

絵文字タグと同じフォーマットで絵文字に変換されないタグを使用すると〓になる

Reported by: ykimura Owned by: ebihara
Priority: major Milestone: OpenPNE2.10.7
Component: 指定しない Version: 2.10.x & 2.12.x & 2.14.x
Keywords: OpenPNE2.12RC2 Cc:

Description

絵文字タグと同じフォーマットで、絵文字に変換されないタグを使った場合、 ゲタ表記になります。

(英字は半角にしてください) [E:5]=〓 [X:2]=〓

Version 2.10.6

修正パッチ添付します。

Change History (8)

comment:1 Changed 11 years ago by ykimura

修正パッチ

Index: /webapp/lib/util/emoji.php
===================================================================
--- /webapp/lib/util/emoji.php
+++ /webapp/lib/util/emoji.php
@@ -187,41 +187,41 @@
     } elseif (0xEA80 <= $unicode && $unicode <= 0xEB88) {
         if ($unicode <= 0xEAAB) {
             $sjis = $unicode + 2259;
         } elseif ($unicode <= 0xEAFA) {
             $sjis = $unicode + 2260;
         } elseif ($unicode <= 0xEB0D) {
             $sjis = $unicode + 3287;
         } elseif ($unicode <= 0xEB3B) {
             $sjis = $unicode + 2241;
         } elseif ($unicode <= 0xEB7A) {
             $sjis = $unicode + 2308;
         } else {
             $sjis = $unicode + 2309;
         }
     }
     return pack('H4', dechex($sjis));
 }
 
 function emoji_convert($str)
 {
-    $moji_pattern = '/\[([a-z]:[0-9]+)\]/i';
+    $moji_pattern = '/\[([ies]:[0-9]{1,3})\]/';
     return preg_replace_callback($moji_pattern, '_emoji_convert', $str);
 }
 
 function _emoji_convert($matches)
 {
     $o_code = $matches[1];
     
     switch ($GLOBALS['__Framework']['carrier']) {
     case 'i':
     case 'w':
         $carrior = 'i';
         break;
     case 's':
         $carrior = 's';
         break;
     case 'e':
         $carrior = 'e';
         break;
     default:
         $carrior = null;

comment:2 Changed 11 years ago by kiwa

Keywords: OpenPNE2.12RC1 added
Milestone: OpenPNE2.10.7
Version: 2.10.x & 2.12.x & 2.13.x

comment:3 Changed 11 years ago by ebihara

Keywords: OpenPNE2.12RC2 added; OpenPNE2.12RC1 removed

comment:4 Changed 11 years ago by ebihara

Priority: minormajor

ご報告ありがとうございます。

意図しない変換がおこなわれる可能性を極力減らすという意味で、この対応方法は至極頷けるものであると認識します。

修正すべき箇所が本当にここだけかは検討しなければならないと思いますが、是非取り込みたいと思います。

comment:5 Changed 11 years ago by ebihara

Owner: changed from nobody to ebihara
Status: newassigned

comment:6 Changed 11 years ago by ebihara

Keywords: 確認中 added

以下のリビジョンで誤字を修正しました(本件には直接関わりありません)。

以下のリビジョンでパッチを適用しました。修正コードの提供ありがとうございます。

以下のリビジョンで不足していた t_truncate の処理について、いただいたパッチのような正規表現によって絵文字かどうかを判断するように修正しました。

ご確認ください。

comment:7 Changed 11 years ago by ogawa

Keywords: テスト待ち added; 確認中 removed

comment:8 Changed 11 years ago by kiwa

Keywords: テスト待ち removed
Resolution: fixed
Status: assignedclosed
Summary: 【バグ】絵文字タグの不具合絵文字タグと同じフォーマットで絵文字に変換されないタグを使用すると〓になる
Note: See TracTickets for help on using tickets.