前提・実現したいこと
お世話になります。
現在、mecab + php で検索機能を作成しており、ユーザー辞書は利用可能です。
下記のURLにある「ひらがな to カタカナ変換ツール」を参考にして、
テキスト変換を行おうと考えています。(辞書用のcsvは作成済みです)
https://taku910.github.io/mecab/dic-detail.html
例:
SONY→ソニー
win10→windows10
発生している問題・エラーメッセージ
変換ファイルの作成とコンパイルには成功し、コマンド上では使うことができたのですが、
php内で動かない状態です。
下記ソースコード以外に、呼び出す方法などがあればご教授頂けないでしょうか?
※php.iniのアクセス権限がないため、設定を直接変更する事ができません。
※mecab本体のインストール先にもアクセスできないため、アクセス可能なディレクトリへユーザー辞書を置いて利用しています。
※追記※
phpのスクリプト内で、mecab_split()を利用した分割はできておりますが、
辞書を指定した状態での分割ができない状況です。
該当のソースコード
php
1ini_set('mecab.default_rcfile', '/xxx/mecab/henkan_dictionary/dicrc ');
補足情報(FW/ツールのバージョンなど)
環境
MariaDB 5.5.50
PHP 5.4.16
mecab 0.996
php-mecab利用
追記
回答頂いた方法を使ったのですが、呼び出す事ができませんでした。
他に試した方法を追記いたします。
そもそもやり方が違うなどありましたら、アドバイス頂ければと思います。
php
1//回答頂いた方法:どちらも呼び出し失敗 2$mecab = mecab_new(['-d', '/xxx/mecab/henkan_dictionary']); 3$mecab = MeCab_Tagger(['-d', '/xxx/mecab/henkan_dictionary']);
MeCab_Taggerで調べて出た下記のページを参考
https://qiita.com/yudaifuijta0121/items/1787d70b9cfca3e43d12
php
1//$options無しだと動くが、$optionsを入れると画面が真っ白になり失敗 2$options = array('-d', '/xxx/mecab/henkan_dictionary'); 3 4$searchwords = "検索文字列"; 5$searchwords_ary = array(); 6 7$mecab = new MeCab_Tagger($options); 8$nodes = $mecab->parseToNode($searchwords); 9foreach ($nodes as $node) { 10 array_push($searchwords_ary, $node->getSurface()); 11} 12
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/07 04:44