<?php
// 基本設定ファイル

if (!extension_loaded('mecab')) {
    $_module_suffix = (PHP_SHLIB_SUFFIX == 'dylib') ? 'so' : PHP_SHLIB_SUFFIX;
    dl('mecab.' . $_module_suffix) || die('skip');
}

// N-Best 解を表示するときの上限
define('NBEST_MAX_RESULT', 3);
$N = strval(NBEST_MAX_RESULT);

// 辞書のパス
$dic = '/opt/local/lib/mecab/dic/ipadic-utf8';

// 解析オプションは配列か文字列で指定する
// 添字配列と連想配列の混合もOK
$arg = array("-d" => $dic, "-N" => $N, "-l" => "2");
//$arg = array("-d", $dic, "-N{$N}", "-l" => "2");
//$arg = array("-d{$dic}", "-N{$N}", "-l2");
//$arg = "-d {$dic} -N3 -l2";

// 配列の要素として "-d {$dic}" (d の後にスペースあり) を指定すると
// それ全体が一つの引数として解釈されるので、下の例はエラーとなる。
$arg_invalid = array("-d {$dic}", "-N3", "-l2"); 

// 配列の要素としてではなく、単一の文字列として与えられるときは
// オプション名の後にスペースがあっても構わない。
$arg_only_dic = "-d {$dic}";

$str = "太郎は次郎が持っている本を花子に渡した。";

$str_long = <<<EOS
MeCab は 京都大学情報学研究科−日本電信電話株式会社コミュニケーション科学基礎研究所
共同研究ユニットプロジェクトの一環として開発されたオープンソース形態素解析エンジンです.
言語, 辞書, コーパスに依存しない汎用的な設計を基本方針としています.
EOS;

function border()
{
    static $border = NULL;
    if ($border === NULL) {
        $border = PHP_EOL . str_repeat('-', 72) . PHP_EOL . PHP_EOL;
    }
    echo $border;
}

function catcher($errno, $errstr, $errfile, $errline, $errcontext)
{
    border();
    printf('%s:%d: %s%s', $errfile, $errline, $errstr, PHP_EOL);
    //print_r($errcontext);
    die($errno);
}

function format($surface, $feature, $id, $stat)
{
    switch ($stat) {
      case MECAB_BOS_NODE:
        $str = 'BOS';
        break;
      case MECAB_EOS_NODE:
        $str = 'EOS';
        break;
      default:
        $str = $surface;
    }
    return sprintf('%d: %s [%s]', $id, $str, $feature);
}

set_error_handler('catcher');

?>


syntax highlighted by Code2HTML, v. 0.9.1