• 締切済み

「ローマ字 -> ひらがな」へPHPなどでで変換したい

Flashから実行するインクリメンタルサーチをしようとしています。 が、AjaxのようにJavaScriptなどを使うことができず、日本語を含むインクリメンタルサーチの処理の効率化に悩んでいます。 Flash内部にタイプされた文字をひらがなに変換する機能を実装しようと思ったのですが、Flashはクライアントベースなのでかなり重たくなりかねません。ので、PHPで変換する部分を組もうかと思ったのですが、それをする際に便利なライブラリ・または関数などありましたら教えていただけませんでしょうか? 環境:CentOS4 [Apache2+PHP5]

  • bunch
  • お礼率82% (251/303)
  • PHP
  • 回答数1
  • ありがとう数1

みんなの回答

  • elf2000
  • ベストアンサー率50% (6/12)
回答No.1

$convert_table = array( "ta"=>"た", "chi"=>"ち", ...) $string = str_replace( array_keys( $convert_table), array_values( $convert_table), $string); みたいな形はどうでしょうか? 上記だと「ta」が「た」に,「chi」が「ち」になります. 注意すべきことは「あいうえお」などは最後にしないと「tあ」とかになるかもしれないことですね. というかこれでご希望のものかどうかは図りかねますが…

参考URL:
http://php.net/str_replace
bunch
質問者

お礼

うむむ・・・ xxtu xxtsu など、二回子音が続く場合もあります。 なので、文字を一個一個に分割して、母音があるまでキャッシュにため込み、見つけた時点でひらがなに変換する必要があります。 なので、elf2000さんがおっしゃるような方法ですと全パターンをstr_replaceに「的確な」順番で書かないといけないような気がします。どうでしょう?もしかしたらこれでもうまくいくかもしれませんが、脳内でやった限り、結構面倒くさい気がします。 時間の短縮にも、すでにもう用意されているものを可能なら使いたいです。

bunch
質問者

補足

いつか、別の所でお伺いさせていただきます。 やはり自分で作るしかなさそうですね・・・

関連するQ&A

  • テキストボックスの日本語をローマ字に変換したい

    PHPかJavaScriptにてテキストボックスに入力された日本語をローマ字に変換する仕組みを探しています。 仮名だけなら手におえますが、漢字になると手におえません。 Webサイト上で処理したいため、ツールではなくライブラリやサンプルコードを探しています。 ご存じならご教授ください。

    • ベストアンサー
    • PHP
  • 【PHP,JavaScript】文字が誤変換される

    以下は、プログラムの一部でJavaScriptからPHPにJSONデータを送信する処理です。 引数を渡すJavaScript側(Extjsライブラリを利用)のプログラム // Ajaxリクエスト処理 Ext.Ajax.request({ url: "php/updatedata.php", success: handleSuccess, failure: handleFailure, params: { data: Ext.util.JSON.encode(data) } // パラメータをJSON形式にして送信 }); 配列dataの中身は「data[0] = 3,data[1] = パソコン」となっています。 Ext.util.JSON.encode(data)により配列dataをJSONに変換して 受信するPHP側のプログラム:updatedata.php JavaScriptで渡したJSONを$_REQUEST['data']で受信して中身を見ると以下のようになっています。 if (isset($_REQUEST['data'])) { $tmp = $_REQUEST['data']; 【受信したJSONデータの中身】 [{"id":"3","name":"繝代た繧ウ繝ウ"}] 「パソコン」という文字列が「繝代た繧ウ繝ウ」という文字列に変換されてしまっています。 Extjs側の「Ext.util.JSON.encode」が悪いのでしょうか、それともPHP側の「$_REQUEST」が悪いのでしょうか。はたまた何か別の原因があるのでしょうか。 ちなみに、環境は以下のようになっています。 WindowsXP,Windows7(両方とも同じ結果になってしまいました。) PHP5.3.1 Ext3.3.0 以上、よろしくお願い致します。

  • ActionScript3.0のsendToURL()からphpが呼べない(Windows)

    現在Windows+Apache2.2.11+PHP5.3+ActionScript3.0環境で試行をしているのですが、下記の問題が出ます。 -AS3のsendToURL("test.php");などとしたときに働かない --CentOS5.3上では動作するのでサーバセッティングの問題と思われる --Flashとtest.phpは同一ディレクトリに配置されている 上記のとおりCentOS5.3などでは動作するのでWindowsでの環境設定が問題だという予測はついているのですが、その箇所がどうにもわかりません。FlashとPHPのあるディレクトリがリードオンリーになっているのですが、これが原因でしょうか?

    • ベストアンサー
    • Flash
  • JavaScriptでPHP実行する方法

    質問させて頂きます。 現在、JavaScriptを用いて、DB内に登録されている画像を読み込み(複数の中から1つ)表示させたいと考えています。 JavaScriptを用いて画像を読み込み表示させるといった実装を行ったことが無いので、一般的に行われてる方法を教えて頂けないでしょうか。 私の考えている方法としては、 HTMLファイル上のJavaScriptでajaxというものを用いてPHPを実行させ、PHP上でDBの中から画像情報をランダムでひとつ読み込み、その情報をHTMLにjsonで返して表示させるという方法を使用するべきなのかと考えています。 ですが、ajaxという方法を使用したことが無いため、この方法が正しいのか、他に良い方法があるのではないかと不安になり質問させて頂きました。 もし何か良い方法をご存知の方がいらっしゃいましたら、ご教授お願いいたします。 また、質問に不備な点などあるかもしれませんので、その際はご指摘下さい。 よろしくお願いいたします。

  • javascriptからPHPに変数を渡したい

    Javascriptで制御しているクライアントのページと PHPで制御しているサーバ側のページがあります。 クライアント側のページで生成したJavascriptの変数の値を サーバ側のページに送りPHPで処理したいと考えています。 どのようにすれば変数の値を送ることが出来るでしょうか? 出来ればフォームを使わずに内部処理で行いたですが、 出来なければフォームでも構わないのです。 簡単で構わないので例文を頂けると非常に助かります。 まったくの初心者で恐縮ですが、教授よろしくお願いします。

  • PHPで.xls→.csvへの変換はできますか?

    お世話になります。よろしくお願いします。 今PHPでcsvファイルを扱うプログラムを作成しているのですが、 クライアントが.xslのファイルをエクセルで開いて、".csvで保存"を行い、プログラムに読み込ませる という手段を取っています。 ここで、プログラムが読み込むファイルは.xlsのままで、プログラム内部により、 .csvに変換して扱うという手段を取りたいのですが、可能なのでしょうか? そのようなクラス、関数等ありましたら、ご教示下さい。

    • ベストアンサー
    • PHP
  • IEとFirefoxでPHPから値を受け取るときの挙動が違う

    現在ActionScript3.0からPHPに対してPOSTし、対象PHP内でデータベースの値を変更し、そのPHPから変数形式での返り値を受け取る処理を実装しているのですが、IEとFirefoxで挙動の違う場合がありわけがわからなくなっております。以下は現象の流れです。 1.Flash(ActionScript3.0)からDB更新用PHPをロード(loadURL) 2.データベース自体は正常に処理される 3.Flashから更新したデータを取得するPHPをロード。返り値は変数形式 例:echo "var0=name&var1=2"; 4.Firefoxでは更新後のデータが取得でき、IEでは出来ないケースがある。ページ自体をリロードした直後にデータベースの値をPHPで取得すると、IEでも正常に取得できる。 ■環境 Apache2.2.11 PHP5.3.0 PostgreSQL 8.4 OS:Vista/CentOS5.3

    • 締切済み
    • PHP
  • FLASHゲームには、FLEXとFLASHどちらがいい?

    webプログラマです。(主にPHP,ajax) FLASHで簡単なゲームを作ってみたいと思いました。 まだ調べてる段階で、わからないところがわからない状態です。。 一番わからないのが、FLEXとFLASHの違いでいまいちピンときません。 FLEXは、MXMLでのコードベースでの作成、FLASHはGUIでの作成といった感じなのでしょうか? いろいろと見てると、FLEXはプログラマ向けといったことが書いてあるのですが、 個人的には、コードベースよりも見た目で作れるFLASHの方が分かりやすいじゃないかと思ってしまうのですが。。 ActionScriptについては、FLASHでもFLEXでもコード書くことには違いないみたいですが。 一応、FLEXはFLASHから派生したようなものというイメージがあるので、 FLASHで始めて、ActionScriptを混ぜていく方向で実装してみようかと思うのですが、どうでしょうか。 ある程度分かってきた段階でFLEXの利点とかもわかってくるかなと思ってます。 それと、簡単なゲームというのは、ソーシャルアプリにあるようなものです。 例えば、○×クイズとかそういったライトな感じのものを考えてます。 この場合、クイズの質問文をサーバーに取りにいくということと、 ユーザーの回答をサーバーに保存するといった通信を行いたいです。 この処理はActionScriptで行うことになると思いますが、 FLEXでもFLASHでも可能という認識でよろしいでしょうか。 こういった簡単なゲームは、FLASHじゃなくとも PHP+ajaxで作れてしまうわけで、その方向であれば実装方法とか頭に浮かぶんですが、 FLASHはいままで触ったことなく、頭の中に「?」がいっぱいの状態です。 ご教示、ご指南お願い致します。

    • ベストアンサー
    • Flash
  • PHPでファイルのバッチアップロード?

    PHP初心者 今制作しているウェブサイトで、バッチアップロード機能(ファイルリスト)を実装したいと思いますが、どうやって実装できますか? 考えたのは、データベースでテンポラリー情報を格納するテーブルを作成することです。ページに二つのフォームを置いて、第一のフォームは一つ一つファイルに関する情報をテーベルに格納し、二つの目フォームが当ユーザーのすべてのファイル情報を出力して「確認」ボタンをクリックすれば実際にアップロードを行います。回りくどい考えかもしれませんが、最もシンプルで標準的な方法があれば、教えていただきたいのです。 PHP/HTML(本当に必要であればJAVASCRIPTもOK)で行いたいのです。AJAXにあまり詳しくないので、今回は使わないで済みたい。 回答を宜しくお願いします。

    • ベストアンサー
    • PHP
  • Apache+phpのインストールでのエラー

    まだはじめたばかりの、超初心者の質問で申し訳ございません。 ただいま、Apacheのインストールが無事完了し、その後、PHPのインストールをしました。で、マニュアルに従い、Apacheの再起動を行ったところ、 「Apache.exe-DLLが見つかりません」 ダイナミックリンクライブラリLIBMYSQL dllが指定されたパスC:/ProgramFiles\ApacheGroup\Apache2\bin;;C:\WINNT\system32;C:\WINNT\system;C:\WINNT;C\WINNT\system32;C:\WINNT;C:WINNT\System32\Wbem;C:\PROGRA~1\IBM\CLIENT~1;C:\PROGRA~1\IBM\CLIENT~1\Shared;C:\PROGRA~1\IBM\CLIENT~1\Emulator;に見つかりませんでした。 というエラーが出ました。 しかし、Apacheはそのまま問題なく起動し、PHPもphpinfoを表示させると、画面が見れます。 このエラーは、どうすれば回避できるのでしょうか? また、今後MySQLもインストール予定です。 なお、環境は、Windows2000で、apache_2.0.58-win32-x86-no_ssl.msiと、php-5.1.2-Win32.zipをインストールしました。 無知で申し訳ございませんが、よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう