PHP | Text_LanguageDetectで言語判定してstr_word_count()で英語の単語数をカウントする方法

Composerを使用してPHPプロジェクトにText_LanguageDetectをインストールし、英語の文章に対して単語数をカウントする方法を紹介します。

実行環境

  • PHPバージョン: 7.4.33
  • Composerバージョン: 2.7.7
  • サーバー: エックスサーバー(スタンダードプラン)

手順

1. Composerのインストール

まず、エックスサーバーにログインしていることを前提に、Composerがインストールされているか確認します。

composer -v

もしインストールされていなければ、Composer公式サイトの指示に従ってインストールしてください。

2. Text_LanguageDetectのインストール

次に、Composer経由でText_LanguageDetectパッケージをインストールします。このコマンドを使うと、composer.json が自動的に生成され、パッケージがインストールされます。

composer require pear/text_languagedetect

このコマンドを実行することで、プロジェクトにpear/text_languagedetectが依存関係として追加され、vendorフォルダが生成されます。

3. プログラムの実装

次に、言語を判別し、英語の場合には単語数をカウントするPHPスクリプトを作成します。

index.php

<?php
// Composer のオートローダーを読み込み
require_once __DIR__ . '/vendor/autoload.php';

// テキストデータ
$text = "This is a sample text to demonstrate language detection.";

// Text_LanguageDetectのインスタンスを作成
$ld = new Text_LanguageDetect();

// 言語を判別
$language = $ld->detectSimple($text);

echo "判別された言語: " . $language . "\n";

// 言語が英語("english")だった場合に単語数をカウント
if ($language === 'english') {
    $wordCount = str_word_count($text);
    echo "単語数: " . $wordCount . "\n";
} else {
    echo "言語が英語ではないため、単語数のカウントは行いません。\n";
}
?>

4. スクリプトの実行

作成したスクリプトを実行してみましょう。以下のコマンドでスクリプトを実行します。

php index.php

出力例

判別された言語: english
単語数: 9

この例では、Text_LanguageDetect がテキストの言語を判別し、言語が「english」であれば単語数をカウントして表示しています。

関連記事

コメント

タイトルとURLをコピーしました