[PHP-users 34242] Re: 携帯電話からの入力絵文字を削除する処理

Michiyoshi Buniu buniu @ dream-link.jp
2009年 1月 13日 (火) 17:45:42 JST


こんにちは。豊丹生と申します。

絵文字は、バイナリデータだと思いますので、
置換する前に、少なくともunpackする必要があると思います。

----- Original Message ----- 
> はじめまして。
> フォームで携帯から受けた文字列の絵文字だけを削除しようとしています。
>
>
> $str = "ああ[絵文字]ああ[絵文字]ああ";
> $new = '';
>
> while(1)
> {
> $moji = mb_substr( $str, 0, 1, 'SJIS-win' );
> $str = mb_substr( $str, 1, mb_strlen($str), 'SJIS-win' );
>
> $output = preg_replace( '/[\xF3\xF4\xF6\xF7][\x40-\xFC]/', '', $moji );
> $new .= $output;
> }
>
> $new = mb_convert_encoding($new, "UTF-8", "SJIS");
>
> print $new;
>
>
> $str は、sjisの文字列です。
> pregreplaceは、auの絵文字にマッチする正規表現です。
>
> 実行すると、$newが、"ああ?ああ?ああ" として返ってくるのですが、"ああああああ"として取得するにはどう
> したら良いのでしょうか。viewのファイルはUTF-8でやろうとしているので、最後UTF-8に変換しています。
>
> なにか分かる方おしえていただけないでしょうか?
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3
>
> 



PHP-users メーリングリストの案内