人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPで、mb_convert_kana がらみの質問です。
http://www.hatena.ne.jp/1090062803
の続きです。全角ひらがな、全角かたかなの
区別はどうするといいのでしょうか?

●質問者: isogaya
●カテゴリ:ウェブ制作
✍キーワード:PHP ひらがな
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● deepyoyogi
●30ポイント

http://www.google.com/

Google

$str = mb_convert_kana($str,”C”,”EUC-JP”);

みたいな感じで、オプション「C」を使うと、

全角ひらがなを全角カタカナに、

「c」だと全角カナを全角かなにします。

URLはダミーです。

◎質問者からの返答

なるほど組み合わせればいいのです。

ただ、漢字をいれている人もいるので、漢字まざっているとか判別できたらありがたいのですが、可能なんでしょうか?

ようするにノーチェックでふりがないれさせているのですが、それをちゃんと、半角フリガナに変換する必要があるのです。漢字がまざっていたりすることもあるのです。半角英数字は無視しますけど


2 ● JULY
●30ポイント

http://jp.php.net/manual/ja/function.mb-ereg-replace.php

PHP: mb_ereg_replace - Manual

先に、全角ひらがな、全角カタカナだけを抜き出してしまう、というのはどうでしょう。

$result = mb_ereg_replace(’[^ぁ-んァ-ヶ]’, ’’, $input_str);

ただし、この「ぁ-んァ-ヶ」の部分は文字コードに依存する可能性があります。

一応、CP932(いわゆる Shift-JIS)と Unicode 上はこの範囲でよさそうです。

(ただし、Unicode 上にしかない文字は入力されない、と仮定します)。

おそらく、かな部分に関しては EUC や UTF-8 も同じだと思いますが、その点はご確認ください。

それと、正規表現用のエンコーディングと、実際に mb_regex_replace で渡す時のエンコー

ディング(つまり、ソースコードの文字コード)が一致していないと、正しく動かないと思いますので、

その点も注意してください。

http://jp.php.net/manual/ja/function.mb-regex-encoding.php

PHP: mb_regex_encoding - Manual

◎質問者からの返答

ありがとうございました。結構難しいですね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ