라이브러리

[PHP] IntlBreakIterator::createSentenceInstance - 문장 나누기를 위한 나누기 반복자 생성




IntlBreakIterator::createSentenceInstance


PHP의 IntlBreakIterator 클래스는 언어별로 문장과 단어를 구분하는 기능을 제공합니다. IntlBreakIterator::createSentenceInstance 메소드는 특정 언어의 문장 분리기를 생성하는 메소드입니다.

# 사용 방법


IntlBreakIterator::createSentenceInstance 메소드는 IntlBreakIterator 클래스의 인스턴스를 생성하고, 언어 코드를 지정하여 문장 분리기를 생성합니다.

# 예제


#hostingforum.kr
php

// 언어 코드를 지정하여 문장 분리기를 생성합니다.

$sentenceBreaker = IntlBreakIterator::createSentenceInstance('ko_KR');



// 텍스트를 입력합니다.

$text = "안녕하세요. 저는 개발자입니다.";



// 문장 분리기를 사용하여 문장을 분리합니다.

$sentence = '';

foreach ($sentenceBreaker->textIterator($text) as $codePoint) {

    $char = mb_chr($codePoint, 'UTF-8');

    if ($sentenceBreaker->isBoundary($codePoint)) {

        echo "문장: $sentence
";

        $sentence = '';

    } else {

        $sentence .= $char;

    }

}

echo "문장: $sentence
";



# 결과


#hostingforum.kr


문장: 안녕하세요.

문장: 저는

문장: 개발자입니다.



# 설명


IntlBreakIterator::createSentenceInstance 메소드는 언어 코드를 지정하여 문장 분리기를 생성합니다. 이 문장 분리기는 텍스트를 입력받아 문장을 분리합니다. 문장 분리기는 문장의 시작과 끝을 구분하여 문장을 분리합니다.

# 참고


IntlBreakIterator 클래스는 PHP 7.2 이상에서 사용할 수 있습니다. 또한 언어 코드는 언어별로 다를 수 있습니다. 예를 들어, 영어의 언어 코드는 'en_US'입니다.

# 예시 코드


IntlBreakIterator 클래스를 사용하여 여러 언어의 문장 분리기를 생성하고, 문장을 분리하는 예제 코드입니다.

#hostingforum.kr
php

// 언어 코드를 지정하여 문장 분리기를 생성합니다.

$sentenceBreakerKo = IntlBreakIterator::createSentenceInstance('ko_KR');

$sentenceBreakerEn = IntlBreakIterator::createSentenceInstance('en_US');



// 텍스트를 입력합니다.

$textKo = "안녕하세요. 저는 개발자입니다.";

$textEn = "Hello, I am a developer.";



// 문장 분리기를 사용하여 문장을 분리합니다.

$sentenceKo = '';

$sentenceEn = '';

foreach ($sentenceBreakerKo->textIterator($textKo) as $codePoint) {

    $char = mb_chr($codePoint, 'UTF-8');

    if ($sentenceBreakerKo->isBoundary($codePoint)) {

        echo "문장(한글): $sentenceKo
";

        $sentenceKo = '';

    } else {

        $sentenceKo .= $char;

    }

}

foreach ($sentenceBreakerEn->textIterator($textEn) as $codePoint) {

    $char = mb_chr($codePoint, 'UTF-8');

    if ($sentenceBreakerEn->isBoundary($codePoint)) {

        echo "문장(영어): $sentenceEn
";

        $sentenceEn = '';

    } else {

        $sentenceEn .= $char;

    }

}

echo "문장(한글): $sentenceKo
";

echo "문장(영어): $sentenceEn
";



# 결과


#hostingforum.kr


문장(한글): 안녕하세요.

문장(한글): 저는

문장(한글): 개발자입니다.

문장(영어): Hello,

문장(영어): I

문장(영어): am

문장(영어): a

문장(영어): developer.


  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 451 페이지

검색

게시물 검색