以前「PHPで分かち書きをする意識低い方法」というエントリーを書いていましたが、今回はYahoo! 版です。使用する際には1日50000回以下で収まる用途であること(越えるとエラーになる)と、クレジットも必要です。それらの制約が無い場合には選択肢に入るかと思います。
#準備
といっても、Yahoo!のサイトから[アプリケーションを開発をする]ボタンをクリックして所定の項目を入力するだけです。
#コード
APIキーを取得した際にClient IDとシークレットが提示されるかと思いますが、Client IDをつかいます。
レンタルサーバーなどで、simplexml_load_fileが使えないこともあるでしょうからCurlを使います。
<?php
$appId = "Client ID";
$sentence = "今日は海の日。夏だ一番ドラえもん祭り。吾輩は猫である。名前はまだ無い";
$url = "https://jlp.yahooapis.jp/MAService/V1/parse?appid=" . $appId . "&results=ma&sentence=" . urlencode($sentence);
//XMLの解析
$xml_data = "";
$cp = curl_init();
curl_setopt($cp, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cp, CURLOPT_HEADER, false );
curl_setopt($cp, CURLOPT_URL, $url);
curl_setopt($cp, CURLOPT_TIMEOUT, 60);
$xml_data = curl_exec($cp);
curl_close($cp);
$original_xml = simplexml_load_string($xml_data);
$xml = get_object_vars($original_xml);
//結果を出力
foreach($xml['ma_result']->word_list->word as $cur){
echo $cur->surface . "|";
}
?>
結果
今日|は|海|の|日|。|夏|だ|一番|ドラえもん|祭り|。|吾輩は猫である|。|名前|は|まだ|無い|