2011年12月8日木曜日

PHPで、漢字 → ひらがなに変換する方法を知っていますか?

mb_convert_kanaを使えば、
全角半角変換や、ひらがな→カタカナの変換は可能。
しかし、漢字→ひらがなの変換はできない。

関数リファレンス

漢字→ひらがなの変換をするためには
Mecabを使うかKakasiを使う必要がある。たぶん。
Mecabはphp拡張モジュールが準備されているが、
Kakasiはそれらしいものがなかった。

kakasiを使うPHP拡張モジュールを書いた。

php-kakasi

これを使えば、下のコードのように、
与えた文字列を、ひらがな、カタカナ、アルファベットに
変換することができる。
与える文字列は、ひらがな、カタカナ、漢字に対応している。

$kakasi = new KAKASI();
    $kakasi->word = "キャプテン翼";

    $wordset = $kakasi->reproc();

    echo "元キーワード:".$wordset->base."\n";
    echo "ひらがな変換:".$wordset->hira."\n";
    echo "カタカナ変換:".$wordset->kata."\n";
    echo "Alphabet変換:".$wordset->alph."\n";

この出力は以下。

$ php php_kakasi.php 
元キーワード:キャプテン翼
ひらがな変換:きゃぷてんつばさ
カタカナ変換:キャプテンツバサ
Alphabet変換:kyaputentsubasa


① インストール方法

こんな雰囲気。

$ git clone git@github.com:kokukuma/php-kakasi.git
$ cd php-kakasi/kakasi
$ phpize
$ ./configure
$ make
$ make install

あと、php.iniに、
「extension=kakasi.so」
って、書く。

※ kakasiは事前にインストールしておく。
※ もしかしたら、kakasi.so.2をincludeパスに移動 or ln -s する必要あるかも


その後、結構仕様変えちゃいましたw。
READMEよんでね。

0 件のコメント:

コメントを投稿