\BEAR_Emoji

絵文字クラス

絵文字を取り扱うためのクラスです。
携帯の絵文字のキャリア相互変換、imgタグによる絵文字の画像表示が行えます。
ソフトバンクモバイルの3G端末、旧端末どちらもサポートします。
UTF8絵文字からwebコード絵文字の変換が行えます。
絵文字変換はメール時の変換にキャリアが仕様してる変換マップに基づいています。
対応する絵文字が無い場合はカタカナで表現されます。

Summary

Methods
Properties
Constants
__construct()
onInject()
setConfig()
getConfig()
setService()
encodeWebCode()
makeDecEntity()
makeHexEntity()
convert()
convertEmojiImage()
removeEmoji()
unescapeSbEmoji()
removeEmojiEntity()
onEntityEmoji()
getAgentEmoji()
No public properties found
DOCOMO_MIN
DOCOMO_MAX
EZWEB_MIN
EZWEB_MAX
SOFTBANK_MIN
SOFTBANK_MAX
_exception()
$_config
N/A
_makeEntityBySjisRegex()
_onHexEntity()
_onEmojiImage()
_getEmojiMap()
_onConvertEmoji()
_onSbEmoji()
$_string
$_uaShortCode
$_ua
$_staticConfig
N/A

Constants

DOCOMO_MIN

DOCOMO_MIN

iモード絵文字10進数エンティティ開始番号

DOCOMO_MAX

DOCOMO_MAX

iモード絵文字10進数エンティティ終了番号

EZWEB_MIN

EZWEB_MIN

Ez絵文字10進数エンティティ開始番号

EZWEB_MAX

EZWEB_MAX

Ez絵文字10進数エンティティ終了番号

SOFTBANK_MIN

SOFTBANK_MIN

Softbank絵文字10進数エンティティ開始番号

SOFTBANK_MAX

SOFTBANK_MAX

Softbank絵文字10進数エンティティ終了番号

Properties

$_config

$_config : array

Class config

Type

array

$_string

$_string : string

入力文字列

Type

string

$_uaShortCode

$_uaShortCode : string

携帯キャリアコード

Type

string

$_ua

$_ua : string

エージェントコード

Type

string

$_staticConfig

$_staticConfig : array

コールバック関数用config

Any better idea ?

Type

array

Methods

__construct()

__construct(array  $config) 

Constructor

設定を_configプロパティに代入します。

Parameters

array $config

ユーザー設定値

onInject()

onInject() : void

Inject

設定にしたがってサービスをインジェクトします。

setConfig()

setConfig(mixed  $config, mixed  $values = null) : self

Set config

Parameters

mixed $config

(string) 設定キー | (array) 設定配列

mixed $values

(string) $configの時の設定値

Returns

self

getConfig()

getConfig(string  $key = null) : mixed

Get config

Parameters

string $key

設定キー、指定なければ全ての設定を取得

Returns

mixed

setService()

setService(string  $name, mixed  $service) : void

Set service

Parameters

string $name

サービスキー

mixed $service

サービス

encodeWebCode()

encodeWebCode(string  $utfEight) : string

SB3G端末の絵文字入りUTF-8コードの文字列をwebコードの絵文字文字列に変換

SB3G端末からポストされた絵文字入りのユニコード文字列を
webコードのUTF-8に変換します。
(注意)3G端末のSJISページでは絵文字はポストされない。
SBで絵文字を取り扱うにはUTF8ページを用意する必要があります。

Parameters

string $utfEight

文字列

Returns

string

makeDecEntity()

makeDecEntity(  $string) : string

10進数エンティティをつくる

stringプロパティの文字列を10進エンティティにしてentityプロパティに格納して返します

Parameters

$string

Returns

string

makeHexEntity()

makeHexEntity(  $string) : mixed

16進エンティティをつくる

10進エンティティから16進エンティティをつくります。 _stringプロパティの文字列を10進エンティティにして _stringプロパティに格納して返します

Parameters

$string

Returns

mixed

convert()

convert(mixed  $to = false) : string

絵文字変換

絵文字変換マップを使って10進エンティティから 他キャリアの対応する絵文字に変換します。

Parameters

mixed $to

デフォルトはエージェント

Returns

string

convertEmojiImage()

convertEmojiImage(  $string) : mixed

エンティティ化されている絵文字を含んだ文字列をイメージタグに変換します

smartyのoutputフィルターなどに使用します。$uaで指定したエージェント (無指定の場合は使用しているエージェント)の絵文字はバイナリ出力されます。 PC(_BAER_UA_DEFAULT)を指定すると全ての絵文字がイメージタグ表示されます。

Parameters

$string

Returns

mixed

removeEmoji()

removeEmoji(string  $string) : string

絵文字を除去する

Parameters

string $string

文字列

Returns

string —

文字列

unescapeSbEmoji()

unescapeSbEmoji(string  $html) : string

エスケープされた文字列の解除

QuciFormバリデーションNGの場合valuesに入った
文字列がエスケープされます。

SBの絵文字では"(ダブルクオーテーション)などを使用したものがあり、
誤動作してしまいます。
この関数をsamrtyのoutputfilterで使用して誤表示を防ぎます。
 HTMLとしては誤った表記になるのでPCでの表示はうまくできませんが
SB端末では正しく表示されます

Parameters

string $html

HTML

Returns

string

removeEmojiEntity()

removeEmojiEntity(string  $string) : string

絵文字を全て除去する

QuickFormのフィルターなどに使います。

Parameters

string $string

文字列

Returns

string

onEntityEmoji()

onEntityEmoji(  $string, array  $keys, \BEAR_Emoji  $emoji) : void

絵文字をエンティティに変換

Parameters

$string
array $keys
\BEAR_Emoji $emoji

getAgentEmoji()

getAgentEmoji(string  $emoji) : string

エージェント別固定絵文字の取得

Parameters

string $emoji

SUNなどの絵文字単語

Returns

string

_exception()

_exception(string  $msg, array  $config = array()) : \BEAR_Exception

例外の作成

Parameters

string $msg

例外メッセージ

array $config

例外config

Returns

\BEAR_Exception

_makeEntityBySjisRegex()

_makeEntityBySjisRegex(string  $string, string  $emoji) : string

正規表現により絵文字を数値エンティティに変換

makeDecEntity()からコールされます。

Parameters

string $string

文字列

string $emoji

絵文字の正規表現

Returns

string

_onHexEntity()

_onHexEntity(  $matches) 

Parameters

$matches

_onEmojiImage()

_onEmojiImage(  $matches) 

Parameters

$matches

_getEmojiMap()

_getEmojiMap(mixed  $ua = false) : array

絵文字コードマップの取得

絵文字コードマップの配列を取得します。

マップフォーマット i,e 絵文字UNICODE開始, 絵文字UNICODE終了,UNICODE<=>SJISオフセット, マスク

Parameters

mixed $ua

ユーザーエージェントレター

Returns

array

_onConvertEmoji()

_onConvertEmoji(  $matches = false) 

Parameters

$matches

_onSbEmoji()

_onSbEmoji(  $match) 

Parameters

$match