Example #1
0
<?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();
            }
        }
    }
}
Example #2
0
<?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);
Example #3
0
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);
    }
}
Example #4
0
 * 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']);
}
Example #5
0
function catcher($errno, $errstr, $errfile, $errline, $errcontext)
{
    border();
    writefln('%s:%d:[%d] %s', $errfile, $errline, $errno, $errstr);
    //print_r($errcontext);
    die($errno);
}
Example #6
0
<?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();
Example #7
0
<?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);
Example #8
0
<?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);
            }
        }
    }
}