PHPで、mb_convert_kana がらみの質問です。

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

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/07/26 10:33:44
  • 終了:--

回答(2件)

id:deepyoyogi No.1

deepyoyogi回答回数9ベストアンサー獲得回数02004/07/26 10:49:48

ポイント30pt

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

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

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

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

URLはダミーです。

id:isogaya

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

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

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

2004/07/26 10:55:46
id:JULY No.2

JULY回答回数966ベストアンサー獲得回数2472004/07/26 11:47:59

ポイント30pt

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

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

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

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

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

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

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

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

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

id:isogaya

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

2004/07/26 12:33:07

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません