Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP로 문자열의 언어를 자동으로 감지하는 방법

문자열을 구성하는 문자의 종류만으로는 해당 텍스트가 어떤 언어인지 정확하게 판별할 수 없습니다. 물론 다른 감지 방법들도 존재하지만, 어느 것도 완벽한 정확도를 보장하지는 않습니다.

이럴 때 TextLanguageDetect PEAR 패키지를 사용하면 비교적 높은 정확도로 언어를 감지할 수 있습니다. 아래는 실제 사용 예제 코드입니다.

예제 코드

require_once 'Text/LanguageDetect.php';
$l = new Text_LanguageDetect();
$result = $l->detect($text, 4);
if (PEAR::isError($result)) {
    echo $result->getMessage();
} else {
    print_r($result);
}

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.

Array
(
    [german] => 0.407037037037
    [dutch] => 0.288065843621
    [english] => 0.283333333333
    [danish] => 0.234526748971
)

패키지의 특징

TextLanguageDetect 패키지는 사용법이 간단하며, 총 52개 언어의 데이터베이스를 내장하고 있어 다양한 언어를 지원합니다. 위 예제에서 볼 수 있듯이, 감지된 각 언어와 함께 유사도 점수(0~1 사이의 값)가 배열 형태로 반환되므로 가장 가능성이 높은 언어를 손쉽게 판단할 수 있습니다.

다만 주의할 점도 있습니다. 이 패키지는 동아시아 언어(한국어, 일본어, 중국어 등)는 감지할 수 없다는 한계가 있습니다. 따라서 동아시아 언어 감지가 필요한 프로젝트라면 별도의 대안 라이브러리나 API를 함께 고려하는 것이 좋습니다.