PHP PHP 함수 - 한글 단어 마지막 글자 받침(종성) 확인
페이지 정보
조회 173회
작성일 20-04-29 09:42
한글 문자열의 마지막 글자에 받침이 있는지 확인하는 PHP 함수 has_batchim()을 소개한다. UTF-8 문자열을 UTF-16BE로 변환해 마지막 글자의 유니코드 코드 포인트를 구하고, '가'의 기준값 44032를 뺀 값을 28로 나눈 나머지가 0보다 크면 받침이 있는 것으로 판별한다. 예시로 깃허브에 '을/를' 조사를 붙이는 사용법을 보여준다.
<?php
// License: Public Domain
//
// 마지막 글자에 받침이 있으면 0보다 큰 정수를 반환하고
// 받침이 없으면 0을 반환한다.
//
// 예:
// $word = '깃허브';
// echo $word . (has_batchim($word) ? '을' : '를');
function has_batchim($str, $charset = 'UTF-8') {
$str = mb_convert_encoding($str, 'UTF-16BE', $charset);
$str = str_split(substr($str, strlen($str) - 2));
$code_point = (ord($str[0]) * 256) + ord($str[1]);
if ($code_point < 44032 || $code_point > 55203) return 0;
return ($code_point - 44032) % 28;
} - 이전글한글 종성에 맞는 조사(은/는, 이/가, 을/를) 자동 변환 클래스 20.04.29
- 다음글해시태그로 인스타그램 데이터 불러오기 (PHP 파싱) 20.04.29