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

ideapon dream2031 @ yahoo.co.jp
2009年 1月 12日 (月) 11:13:56 JST


はじめまして。
フォームで携帯から受けた文字列の絵文字だけを削除しようとしています。


$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 メーリングリストの案内