MODxにて携帯サイト制作しています。
同URLでUser Agentでの切り替えはsoushi様のMobileConverter使用(現在1.0導入)。
2.0で今後絵文字変換を実装予定とのことですが、自分で挑戦してみましたのですが、うまくいかないので教えていただけますでしょうか?。
色々調べて見た結果、ライブラリとして使えそうなのが
・MobilePictogramConverter
http://d.hatena.ne.jp/ryster/
公式サイトよりDLできないので
(http://www.php-labo.net/setup/extend/pictogram.html)からDL。
・絵文字変換ライブラリ
http://libemoji.com/
・PHP 携帯絵文字 自動変換スクリプト
http://surf-style.us/
が使えそうなのですが、どのライブラリを使用するのがベストなのかと、具体的なプラグインでの実装方法をご教授おねがいします。
また理想というか、こういったことがしたいのですが、
上記ライブラリを実装して、絵文字の入力はおそらくDocomoのUnicodeをHTMLテキスト形式で入力し各キャリアに変換する形になると思います。この場合ですと Docomoの252種類の絵文字しか使用できません。AU、SBの絵文字を使う場合imgタグで使用することにします。
それでanysense-debel様の作られたTinyMCE携帯絵文字入力プラグイン( http://hogehack.blog80.fc2.com/blog-entry-22.html )を導入してみました。
入力は直感的、ユーザビリティー的にも使いやすいのですが、imgタグでの吐き出しになるので、これを各キャリア毎の絵文字コードに変換するとします。
各キャリア対応の変換ルールのテーブルは作成する必要がありますが、
・PCサイト、編集フォーム(TinyMCE)内ではimgタグで表示
・携帯各キャリアには各キャリア絵文字コードに変換
・対応絵文字コードがない場合 imgタグで表示
といったことを実現したいのですがいかがでしょうか・・。 自分の知識では無理そうなので、お力いただければとても嬉しいです。
【環境】
サーバー:Xserver
PHP : PHP5.1.6
MySQL:MySQL5.0
MODx:1.0.4J-p1
宜しくお願いします。
各キャリア絵文字変換について
Re: 各キャリア絵文字変換について
kmikageです。
とりあえず眠い目をこすりながら。
絵文字の画像ファイル名がリソースに挿入される事、あとUserAgentの処理の関係から、MobilePictogramConverterが最適かと思われます。
割と大胆にMobileConverter側を改造する形になると思いますが、以下のような感じで改造出来るかと思います。
1.MobileConverterのUA判別プロパティに、キャリア情報(何かしらの文字列)を付加
loveとかhageとかauuとかimoとか、そんな感じで適当に。:-)
※他のライブラリと異なりMobilePictogramConverterは独自にUAの解析を行わないので、
MobileConverterがUA判別を行った結果のキャリア情報を継承する必要がある為。
2.
if( $enableConvertCharset ){
addEvent('OnWebPagePrerender', $MyName);
}
このあたりを書き換えて、強制的にOnWebPagePrerenderイベントをキックします。
3.
case 'OnWebPagePrerender':
ここから下を書き換えて、MobilePictogramConverterに対しオリジナルの文字列と属性、表示するキャリア情報と文字コード(共にプロパティから取得)を渡します。
こんな感じかと思います。
MobilePictogramConverterそのものは大した処理ではなく、
単純に膨大なテーブルを元に置換処理を行っているだけの簡単なクラスですので、
組み込むのはそれほど難しくないと思います。
具体的にコードを書くのは、ご自身で頑張ってみて下さい。
とりあえず眠い目をこすりながら。
絵文字の画像ファイル名がリソースに挿入される事、あとUserAgentの処理の関係から、MobilePictogramConverterが最適かと思われます。
割と大胆にMobileConverter側を改造する形になると思いますが、以下のような感じで改造出来るかと思います。
1.MobileConverterのUA判別プロパティに、キャリア情報(何かしらの文字列)を付加
loveとかhageとかauuとかimoとか、そんな感じで適当に。:-)
※他のライブラリと異なりMobilePictogramConverterは独自にUAの解析を行わないので、
MobileConverterがUA判別を行った結果のキャリア情報を継承する必要がある為。
2.
if( $enableConvertCharset ){
addEvent('OnWebPagePrerender', $MyName);
}
このあたりを書き換えて、強制的にOnWebPagePrerenderイベントをキックします。
3.
case 'OnWebPagePrerender':
ここから下を書き換えて、MobilePictogramConverterに対しオリジナルの文字列と属性、表示するキャリア情報と文字コード(共にプロパティから取得)を渡します。
こんな感じかと思います。
MobilePictogramConverterそのものは大した処理ではなく、
単純に膨大なテーブルを元に置換処理を行っているだけの簡単なクラスですので、
組み込むのはそれほど難しくないと思います。
具体的にコードを書くのは、ご自身で頑張ってみて下さい。
Re: 各キャリア絵文字変換について
念為追記です。
ソースコードしか読んでいないので、具体的なインストール・動作確認などはしていません。
MobilePictogramConverter側に適宜カスタマイズが必要な場合もあるので、確認して下さい。
ソースコードしか読んでいないので、具体的なインストール・動作確認などはしていません。
MobilePictogramConverter側に適宜カスタマイズが必要な場合もあるので、確認して下さい。
Re: 各キャリア絵文字変換について
kmikage 様
アドバイス有り難うございます。ん~流れは理解できたのですが、初心者ですみません・・
お忙しい中申し訳ないですが
もう少しだけコードの部分教えていただければうれしいです。
アドバイス有り難うございます。ん~流れは理解できたのですが、初心者ですみません・・
お忙しい中申し訳ないですが
もう少しだけコードの部分教えていただければうれしいです。
Re: 各キャリア絵文字変換について
>toshiさん
んー、どうでしょう。
逆にどこまでの情報があれば自分でトライ出来そうですか?
個人的に「初心者」は免罪符にならないので、必要なレベルまで情報渡します。^^
んー、どうでしょう。
逆にどこまでの情報があれば自分でトライ出来そうですか?
個人的に「初心者」は免罪符にならないので、必要なレベルまで情報渡します。^^
Re: 各キャリア絵文字変換について
> kmikage様
お言葉に甘えてお聞きします。PHP詳しくないので、サンプルコードというか(叩き台的な)ものがあれば
うれしいです。
最初にですが、現在使用しているMobileConverterのバージョンは1.12でした(汗
case 'OnWebPagePrerender': 以下
キャリア情報等使ってMobilePictogramConverterへの値の渡し方がわからないです。
なんか全部になりますね・・宜しくお願いします。
お言葉に甘えてお聞きします。PHP詳しくないので、サンプルコードというか(叩き台的な)ものがあれば
うれしいです。
最初にですが、現在使用しているMobileConverterのバージョンは1.12でした(汗
どのあたりを書き換え、すればいいのかと1.MobileConverterのUA判別プロパティに、キャリア情報(何かしらの文字列)を付加
loveとかhageとかauuとかimoとか、そんな感じで適当に。:-)
具体的にどういう風に書き換えて2.
if( $enableConvertCharset ){
addEvent('OnWebPagePrerender', $MyName);
}
このあたりを書き換えて、強制的にOnWebPagePrerenderイベントをキックします。
case 'OnWebPagePrerender': 以下
キャリア情報等使ってMobilePictogramConverterへの値の渡し方がわからないです。
なんか全部になりますね・・宜しくお願いします。
Re: 各キャリア絵文字変換について
とりあえず、結果は写真の通り。
http://code.cside.com/i-mode/emojimode/
ここからHTMLないしバイナリでTinyMCEに絵文字を流し込むと、MC経由でMPCのクラスをコールして、自動変換します。
MODx->FOMA、MODx->WINはとりあえず確認しました。
禿はスマートじゃない電話は持っていないので、誰か協力をお願いします。
MODx Evo 1.0.3J-p1@美ら海サーバ
MobileConverter 2.0.0
MobilePictogramConverter 1.2.0
NEC N906iL(変態SIP端末・笑)
SH005(シンプルじゃないシンプル携帯)
BGM : アニソンINDEX @ 秋葉原MOGRA(のust)
結果的に、MC、MPC共に手を入れていますが、
MPCは元々PHPLabのアプリに組み込む共通ライブラリとして配布されているので、
ファイルを参照する時のパスの処理でMODx APIを使うように変更しています。
MobileConverterは予想通り大幅に組み直しをしており、
文字コード関連処理・絵文字変換処理をMPCに依存する形になっています。
(HTMLヘッダに関する処理しかしていません。)
また、MPC側で再度UAの認識をしているので、効率の良いコードではありません。。。
日本のガラケー業界では絵文字の需要は大きいのでMCとMPCはセットで使われる事になるかもしれませんが、とりあえず中身は別物です。
あと、パスをハードコーディングして無理矢理くっつけてる関係で、環境にも軽く依存します。
コードを掃除すれば直るかも知れません。
ついでに、画像変換周りの画像パスの関係で挙動が怪しい部分があったので、MODxAPIに直しました。
MODX_BASE_PATH -> $modx->config{'base_path'}
http://www.php-labo.net/info/
MPCもGPLライセンスなので、(まぁ必要無いとは思いますが、面倒ですけど)許諾を取ればMCに組み込んでも問題無さそうです。
>そうしさん
もう少しコードを掃除したら送ります。
ここからHTMLないしバイナリでTinyMCEに絵文字を流し込むと、MC経由でMPCのクラスをコールして、自動変換します。
MODx->FOMA、MODx->WINはとりあえず確認しました。
禿はスマートじゃない電話は持っていないので、誰か協力をお願いします。
MODx Evo 1.0.3J-p1@美ら海サーバ
MobileConverter 2.0.0
MobilePictogramConverter 1.2.0
NEC N906iL(変態SIP端末・笑)
SH005(シンプルじゃないシンプル携帯)
BGM : アニソンINDEX @ 秋葉原MOGRA(のust)
結果的に、MC、MPC共に手を入れていますが、
MPCは元々PHPLabのアプリに組み込む共通ライブラリとして配布されているので、
ファイルを参照する時のパスの処理でMODx APIを使うように変更しています。
MobileConverterは予想通り大幅に組み直しをしており、
文字コード関連処理・絵文字変換処理をMPCに依存する形になっています。
(HTMLヘッダに関する処理しかしていません。)
また、MPC側で再度UAの認識をしているので、効率の良いコードではありません。。。
日本のガラケー業界では絵文字の需要は大きいのでMCとMPCはセットで使われる事になるかもしれませんが、とりあえず中身は別物です。
あと、パスをハードコーディングして無理矢理くっつけてる関係で、環境にも軽く依存します。
コードを掃除すれば直るかも知れません。
ついでに、画像変換周りの画像パスの関係で挙動が怪しい部分があったので、MODxAPIに直しました。
MODX_BASE_PATH -> $modx->config{'base_path'}
http://www.php-labo.net/info/
MPCもGPLライセンスなので、(まぁ必要無いとは思いますが、面倒ですけど)許諾を取ればMCに組み込んでも問題無さそうです。
>そうしさん
もう少しコードを掃除したら送ります。
Re: 各キャリア絵文字変換について
soushiです。
色々調整ありがとうございます > kmikageさん
また元の作者様のサイトは現在、存在しないようです(ブログはありましたが、2008年で更新停止)
[そのブログサイト]
http://d.hatena.ne.jp/ryster/20080130/1201708214
MITも再配布等制限がないので、著者表示等を明記しMCに組み込んでもよさそうです。
改変も可能です。
MCでMPC巻き取ってGPLにライセンス変えることはできるのだろうか…BSDライセンスはGPLに変えてもいいって聞いた事はあるんだけど。
ただ、GPLよりもゆるいライセンスなのでそのままでも問題はないのかなぁ。
よろしくお願いしますー。
色々調整ありがとうございます > kmikageさん
確認したらライセンスは1.2.0からLGPLからMITへ変更されたみたいです。kmikage さんが書きました: http://www.php-labo.net/info/
MPCもGPLライセンスなので、(まぁ必要無いとは思いますが、面倒ですけど)許諾を取ればMCに組み込んでも問題無さそうです。
また元の作者様のサイトは現在、存在しないようです(ブログはありましたが、2008年で更新停止)
[そのブログサイト]
http://d.hatena.ne.jp/ryster/20080130/1201708214
MITも再配布等制限がないので、著者表示等を明記しMCに組み込んでもよさそうです。
改変も可能です。
MCでMPC巻き取ってGPLにライセンス変えることはできるのだろうか…BSDライセンスはGPLに変えてもいいって聞いた事はあるんだけど。
ただ、GPLよりもゆるいライセンスなのでそのままでも問題はないのかなぁ。
了解です。kmikage さんが書きました: >そうしさん
もう少しコードを掃除したら送ります。
よろしくお願いしますー。