<?php /** * php-mecab/examples * get begen/end node list (OO-API) * charset=utf-8 */ require_once dirname(__FILE__) . '/common.inc.php'; $mecab = new MeCab_Tagger($arg); if ($node = $mecab->parseToNode($str)) { border(); $len = $node->getSentenceLength(); for ($i = 0; $i <= $len; $i++) { if ($b = $node->getBeginNodeList($i)) { while ($b) { writefln("B[%d] %s\t%s", $i, $b->getSurface(), $b->getFeature()); $b = $b->getBNext(); } } if ($e = $node->getEndNodeList($i)) { while ($e) { writefln("E[%d] %s\t%s", $i, $e->getSurface(), $e->getFeature()); $e = $e->getBNext(); } } } }
<?php /** * php-mecab/examples * get begen/end node list * charset=utf-8 */ require_once dirname(__FILE__) . '/common.inc.php'; $mecab = mecab_new($arg); if ($node = mecab_sparse_tonode($mecab, $str)) { border(); $len = mecab_node_sentence_length($node); for ($i = 0; $i <= $len; $i++) { if ($b = mecab_node_begin_node_list($node, $i)) { while ($b) { writefln("B[%d] %s\t%s", $i, mecab_node_surface($b), mecab_node_feature($b)); $b = mecab_node_bnext($b); } } if ($e = mecab_node_end_node_list($node, $i)) { while ($e) { writefln("E[%d] %s\t%s", $i, mecab_node_surface($e), mecab_node_feature($e)); $e = mecab_node_bnext($e); } } } } mecab_destroy($mecab);
function catcher($errno, $errstr, $errfile, $errline, $errcontext) { border(); writefln('%s:%d:[%d] %s', $errfile, $errline, $errno, $errstr); //print_r($errcontext); if ($errno !== E_DEPRECATED) { die($errno); } }
* php-mecab/examples * test like official bindings examples * charset=utf-8 */ require_once dirname(__FILE__) . '/common.inc.php'; $sentence = '太郎はこの本を二郎を見た女性に渡した。'; if (isset($_SERVER['argv'])) { $options = $_SERVER['argv']; array_shift($options); } else { $options = array(); } writeln(MECAB_VERSION); $t = mecab_new($options); writeln(mecab_sparse_tostr($t, $sentence)); $m = mecab_sparse_tonode($t, $sentence); while ($m) { writeln(mecab_node_surface($m) . "\t" . mecab_node_feature($m)); $m = mecab_node_next($m); } writeln('EOS'); $di = mecab_dictionary_info($t); foreach ($di as $d) { writefln('filename: %s', $d['filename']); writefln('charset: %s', $d['charset']); writefln('size: %d', $d['size']); writefln('type: %d', $d['type']); writefln('lsize: %d', $d['lsize']); writefln('rsize: %d', $d['rsize']); writefln('version: %d', $d['version']); }
function catcher($errno, $errstr, $errfile, $errline, $errcontext) { border(); writefln('%s:%d:[%d] %s', $errfile, $errline, $errno, $errstr); //print_r($errcontext); die($errno); }
<?php /** * php-mecab/examples * show dictionary information * charset=utf-8 */ require_once dirname(__FILE__) . '/common.inc.php'; $mecab = new MeCab\Tagger($arg); border(); writefln('MeCab Version: %s', MeCab\VERSION); border(); writeln('Dictionary Information:'); print_r($mecab->dictionaryInfo()); border();
<?php /** * php-mecab/examples * show dictionary information * charset=utf-8 */ require_once dirname(__FILE__) . '/common.inc.php'; $mecab = mecab_new($arg); border(); writefln('MeCab Version: %s', MECAB_VERSION); border(); writeln('Dictionary Information:'); print_r(mecab_dictionary_info($mecab)); border(); mecab_destroy($mecab);
<?php /** * php-mecab/examples * get begen/end node list (OO-API with SPL and Overloading) * charset=utf-8 */ require_once dirname(__FILE__) . '/common.inc.php'; $mecab = new MeCab_Tagger($arg); if ($node = $mecab->parseToNode($str)) { border(); $len = $node->getSentenceLength(); for ($i = 0; $i <= $len; $i++) { if ($bn = $node->getBeginNodeList($i)) { $bn->setTraverse(MeCab_Node::TRAVERSE_BNEXT); foreach ($bn as $b) { writefln("B[%d] %s\t%s", $i, $b->surface, $b->feature); } } if ($en = $node->getEndNodeList($i)) { $en->setTraverse(MeCab_Node::TRAVERSE_BNEXT); foreach ($en as $e) { writefln("E[%d] %s\t%s", $i, $e->surface, $e->feature); } } } }