teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

試した内容を追記

2018/09/07 04:43

投稿

pluto22
pluto22

スコア9

title CHANGED
File without changes
body CHANGED
@@ -19,6 +19,10 @@
19
19
  ※php.iniのアクセス権限がないため、設定を直接変更する事ができません。
20
20
  ※mecab本体のインストール先にもアクセスできないため、アクセス可能なディレクトリへユーザー辞書を置いて利用しています。
21
21
 
22
+ ※追記※
23
+ phpのスクリプト内で、mecab_split()を利用した分割はできておりますが、
24
+ 辞書を指定した状態での分割ができない状況です。
25
+
22
26
  ### 該当のソースコード
23
27
 
24
28
  ```php
@@ -29,4 +33,31 @@
29
33
  環境
30
34
  MariaDB 5.5.50
31
35
  PHP 5.4.16
32
- mecab 0.996
36
+ mecab 0.996
37
+ php-mecab利用
38
+
39
+ ### 追記
40
+ 回答頂いた方法を使ったのですが、呼び出す事ができませんでした。
41
+ 他に試した方法を追記いたします。
42
+ そもそもやり方が違うなどありましたら、アドバイス頂ければと思います。
43
+ ```php
44
+ //回答頂いた方法:どちらも呼び出し失敗
45
+ $mecab = mecab_new(['-d', '/xxx/mecab/henkan_dictionary']);
46
+ $mecab = MeCab_Tagger(['-d', '/xxx/mecab/henkan_dictionary']);
47
+ ```
48
+ MeCab_Taggerで調べて出た下記のページを参考
49
+ [https://qiita.com/yudaifuijta0121/items/1787d70b9cfca3e43d12](https://qiita.com/yudaifuijta0121/items/1787d70b9cfca3e43d12)
50
+ ```php
51
+ //$options無しだと動くが、$optionsを入れると画面が真っ白になり失敗
52
+ $options = array('-d', '/xxx/mecab/henkan_dictionary');
53
+
54
+ $searchwords = "検索文字列";
55
+ $searchwords_ary = array();
56
+
57
+ $mecab = new MeCab_Tagger($options);
58
+ $nodes = $mecab->parseToNode($searchwords);
59
+ foreach ($nodes as $node) {
60
+ array_push($searchwords_ary, $node->getSurface());
61
+ }
62
+
63
+ ```