년도별 글 목록: 2021

PHP로 한글 문자열에서 이(가), 은(는), 을(를) 조사 중에 맞는 것으로 고치기

한글 문자열에 이(가), 은(는), 을(를) 조사가 포함된 경우 맞는 것으로 고쳐서 반환하는 함수를 만들어봤다.

조사 앞글자의 받침 유무에 따라 어떤 조사가 붙을지 선택되는 간단한 로직으로 코드는 짧고 단순하다.

<?php
function fixHangulJosa(string $text): string
{
    return preg_replace_callback('/
        ([가-힣])(
        을\(를\)
        |이\(가\)
        |은\(는\)
        )
    /ux', function ($matches) {
        $coda = (mb_ord($matches[1]) - 0xAC00) % 28;
        $start = $coda ? 0 : 2;
        return $matches[1] . mb_substr($matches[2], $start, 1);
    }, $text);
}

$text = '나뭇잎이(가) 단풍 드는 가을은(는) 우리을(를) 감상에 젖게 만든다.';
// 나뭇잎이 단풍 드는 가을은 우리를 감상에 젖게 만든다.
echo fixHangulJosa($text);

 

이 글은 개발 카테고리에 분류되었고 태그가 있으며 님에 의해 에 작성되었습니다.

Electron 태그에서 페이지 로딩 시 이벤트 발생 순서

Electron <webview> 태그에 다양한 이벤트가 있는데 페이지가 로딩 시 이벤트 발생 순서가 궁금해서 테스트했고 결과는 다음과 같다.

  1. did-start-loading
  2. did-navigate
  3. load-commit
  4. dom-ready
  5. did-frame-finish-load
  6. did-finish-load
  7. did-stop-loading