Archive for 11月, 2007

PHPでソフトバンク絵文字(ウェブコード)を取り除く方法

2007/11/30 金曜日 Posted in SoftBank | 1 Comment »

先日ご紹介した「PHPを使ってたった2行で絵文字を取り除く方法」の補足です。 「mb_substitute_character」を使った絵文字除去方法では、ソフトバンクの絵文字を除去しきれない場合があります。 SJIS形式以外にも、ウェブコードでフォーム値を送ってくる端末もあるためです。 それらを除去するためのサンプルコードはこちらです。   ソフトバンク絵文字(ウェブコード)除去サンプル $in_string = '絵文字$G!削除'; $pattern = '/[\\x1B][\\x24][G|E|F|O|P|Q][\\x21-\\x7E]+([\\x0F]|$)/'; preg_match_all($pattern, $in_string, $arr); $search = $arr[0]; // $arr[0]に対象絵文字が格納される // 絵文字除去 $out_string = str_replace($search, array(), $in_string); // 出力 echo $out_string; ※Blog上ではソフトバンク絵文字が表示できないため、正しく入力しなおしてください。 正規表現の最後が、x0Fまたは$となっているのは、古い機種の中に端末のバグで、絵文字で終わっている場合に末尾のx0Fがつかない端末があるためです。* 先日ご紹介したこちらの方法と、上記サンプルコードを併用することで、全ての絵文字が取り除けるはずです。 * 対応する機種が手元にないため実機での確認が取れていません。  もしお手持ちの方がいましたら、検証のご協力をお願いします。   関連: PHPを使ってたった2行で絵文字を取り除く方法 ソフトバンクの絵文字を検出する正規表現 ソフトバンクの絵文字を入力するには Read more..

KDDIがPC向けデータ定額プランとデータカード「W05K」を発表

2007/11/29 木曜日 Posted in ニュース | No Comments »

先日もお伝えしたKDDIのデータ通信定額制プランが、正式に発表されたようです。   → ITMedia +D Mobile KDDI、PC向けデータ定額プランと専用データカード「W05K」を発表 [itmedia.co.jp] → ケータイWatch au、下り最大3.1Mbpsのデータプラン「WINシングル定額」 [impress.co.jp] → GIGAZINE KDDI、ついにパソコン向けデータ通信定額プラン「WINシングル定額」を発表 [gigazine.net]   速度は、「上り最大1.8Mbps/下り最大3.1Mbps」で、気になるお値段は、月額5,670~6,930円とのことです。 サービスインは12月下旬となっています。 しかもなんと、プロトコルや利用アプリケーションによる制限は無しとのことです。 素晴らしいですね。   関連: KDDIがデータ通信定額制プラン(月額6000円)を来月末スタート? Read more..

PHPを使ってたった2行で絵文字を取り除く方法

2007/11/28 水曜日 Posted in PHP | 2 Comments »

今回は、PHPで一番簡単と思われる、絵文字を取り除く方法をご紹介します。 iモードとau、およびソフトバンクのSJIS形式の絵文字を取り除くことができます。 サンプルコード $str = '絵文字[晴れ]'; mb_substitute_character('none'); $str = mb_convert_encoding($str, 'SJIS', 'SJIS'); // 出力 echo $str; ※ソースはSJISで記述してください   これだけでOKです。 「mb_substitute_character」は、存在しない文字コードがある場合(いわゆるゲタになる場合)の処理を設定をするためのものです。 ここで"none"と設定すると削除が行われます。 次の「mb_convert_encoding」で実際に変換を行うと(ダミーのためSJIS→SJISでOK)、絵文字が削除されます。 実行速度も早く、絵文字を取り除くには、この方法が決定版かもしれません。 DocoMoは当然OK auもOK SoftBankだってOK   なお、ソフトバンクにはSJIS形式以外にも、フォーム値を通常の絵文字形式で送信してくる端末も、数多くあります。 その場合は正規表現などで検出し、取り除く必要があります。 (上記のソフトバンク絵文字を削除するサンプルは、また後日アップします) 追記: 公開しました。こちらです。 この2つの方法を併用することで、全てのキャリア、全ての絵文字を削除することができそうです。   関連: ソフトバンクの絵文字を検出する正規表現 iモードの絵文字を検出する正規表現 Read more..

ソフトバンクが迷惑メール対策を12月から順次強化

2007/11/27 火曜日 Posted in ニュース | No Comments »

ソフトバンクが2007年12月以降、迷惑メール対策を強化するそうです。 → ケータイWatch ソフトバンク、12月より迷惑メール対策を強化 [impress.co.jp] → ITMedia +D Mobile ソフトバンクモバイル 「迷惑メールブロック」の自動設定などを開始、対策強化 [itmedia.co.jp] 具体的な内容は次の通りです。 「ともだちメール安心設定」の初期設定値が「ともだちメールを優先受信」に 「URLリンク付きメール拒否設定」の初期設定値が「特定URLを含むメールのみ受信拒否」に 送信元のメールアドレスのドメイン詐称チェック URLリンクの拒否設定の初期値が変わると聞いて、一瞬ヒヤリとしましたが、幸いそれほどシステム運営に大きな影響はなさそうです。 ドメイン詐称チェックは他キャリアに追随して、SenderIdを導入するのでしょうか? 今後のアナウンスに要注意ですね。 Read more..

PHPで絵文字を壊さずに文字コードや全角半角変換を行う方法

2007/11/26 月曜日 Posted in PHP | 1 Comment »

通常「mb_convert_encoding」や「mb_convert_kana」を使うと、iモードやEZWebの絵文字(SJIS形式)は壊れてしまいます。 壊れてしまう例 $str = '絵文字[晴れ]'; $str = mb_convert_encoding($str, 'EUCJP', 'SJIS'); $str = mb_convert_encoding($str, 'SJIS', 'EUCJP'); // 出力 echo $str; 例:通常のコンバートの場合   しかしちょっとしたことで、絵文字の破壊を防ぐことができます。 文字コードを指定するときに SJIS EUC-JP ではなく、 SJIS-WIN EUCJP-WIN を利用すればOKです。 以下がサンプルコードです。   文字コード変換のサンプル $str = '絵文字[晴れ]'; $str = mb_convert_encoding($str, 'EUCJP-WIN', 'SJIS-WIN'); $str = mb_convert_encoding($str, 'SJIS-WIN', 'EUCJP-WIN'); // 出力 echo $str; 文字コード変換しても壊れません   全角→半角変換のサンプル $str = '絵文字[晴れ]も半角化もダイジョウブ'; // 文字コードを設定 mb_internal_encoding('SJIS-WIN'); $str = mb_convert_kana($str, ... Read more..