[PHP] #18 PHP 문자열 함수, 한글도 정확하게! 문자열 추출 및 분할 함수 정리

2025. 8. 7. 16:00·Programming/PHP
반응형

 

안녕하세요, 토스트데브입니다!
이번 글에서는 문자열을 잘라내거나 나누는 함수들을 정리해봅니다.
특히 한글 같은 멀티바이트 문자 처리에 주의해야 하는 부분도 함께 다룹니다.

 

 

✅ substr() – 문자열의 일부분 추출

$str = "toastdev";
echo substr($str, 0, 5);  // 출력: toast

 

  • 인자: (문자열, 시작 위치[, 길이])
  • 영어 등 1바이트 문자에서는 잘 작동하지만,
  • 한글은 깨질 수 있음!
$str = "안녕하세요";
echo substr($str, 0, 2);  // 출력: � (깨짐)

 

 

 

✅ mb_substr() – 멀티바이트 문자열을 정확히 추출

한글처럼 2바이트 이상인 문자를 자를 때는 mb_substr()을 사용해야 합니다.

$str = "안녕하세요";
echo mb_substr($str, 0, 2);  // 출력: 안녕
✅ mb_substr() 을 사용하기 위해선 PHP에서 mbstring 확장 모듈이 활성화되어 있어야 합니다 (보통 기본 설치되어 있음).

 

 

✅ explode() – 문자열을 구분자로 나눠 배열로 변환

$str = "사과,바나나,오렌지";
$fruits = explode(",", $str);

print_r($fruits);
// 출력: ["사과", "바나나", "오렌지"]
  • CSV 문자열, 태그, 카테고리 분리 등에 매우 유용한 함수입니다.

 

 

✅ str_split() – 일정 길이로 문자열 분할

$str = "toast";
print_r(str_split($str, 2));
// 출력: ['to', 'as', 't']

❗ 한글은 주의 – str_split()은 멀티바이트 문자열을 깨뜨릴 수 있음

$str = "안녕하세요";
print_r(str_split($str));
// 출력: 깨진 문자 배열

✅ 한글을 문자 단위로 정확히 나누려면 mb_str_split() (PHP 7.4+) 사용

$str = "안녕하세요";
print_r(mb_str_split($str));
// 출력: ['안', '녕', '하', '세', '요']

 

 

✨ 요약

함수 설명 안정성
substr() 문자열 일부 추출 ❌ (깨질 수 있음)
mb_substr() 한글 포함 문자열 추출 ✅
explode() 구분자로 나누기 ✅
str_split() 일정 길이로 자르기 ❌
mb_str_split() 멀티바이트 문자열 자르기 ✅

 

 

✅ 보너스: 문자 자르기 실전 예제

$name = "홍길동";

// 이름의 첫 글자만 추출
$first = mb_substr($name, 0, 1);  // 홍

// 마지막 글자만 추출
$last = mb_substr($name, -1);  // 동

 

 

#PHP문자열 #문자열추출 #문자열분할 #mb_substr #explode #mb_str_split #한글처리 #멀티바이트 #PHP기초 #toastdev #코딩입문 #문자열함수

반응형
저작자표시 비영리 (새창열림)

'Programming > PHP' 카테고리의 다른 글

[PHP] #17 PHP 문자열 함수, 대소문자 및 첫 글자 변환 함수 간단 정리  (2) 2025.08.06
[PHP] #16 PHP 문자열 함수, 문자열 길이 및 정보 확인 함수 총정리!  (1) 2025.08.05
[PHP] #15 PHP로 JSON 응답처리, 파싱부터 API 응답까지 완벽 정리!  (3) 2025.07.26
[PHP] #14 PHP로 XML 응답 처리 하는 방법, 외부 데이터 읽기 및 파싱 가이드!  (0) 2025.07.25
[PHP] #13 PHP 세션(Session)과 쿠키(Cookie) 완벽 이해하기  (2) 2025.07.24
'Programming/PHP' 카테고리의 다른 글
  • [PHP] #17 PHP 문자열 함수, 대소문자 및 첫 글자 변환 함수 간단 정리
  • [PHP] #16 PHP 문자열 함수, 문자열 길이 및 정보 확인 함수 총정리!
  • [PHP] #15 PHP로 JSON 응답처리, 파싱부터 API 응답까지 완벽 정리!
  • [PHP] #14 PHP로 XML 응답 처리 하는 방법, 외부 데이터 읽기 및 파싱 가이드!
TOASTDEV
TOASTDEV
인스턴트 코딩 #토스트데브 #토스트뎁 #코딩공부 #개발입문
  • TOASTDEV
    토스트뎁
    TOASTDEV
    • 분류 전체보기 (78) N
      • 알쓸신잡 (29) N
        • 코딩에 대하여 (13)
        • 컴퓨터에 대하여 (7) N
        • IT 국내외 소식 (9) N
      • Web Front (6)
        • HTML (6)
        • CSS (0)
        • JavaScript (0)
      • Programming (18) N
        • PHP (18) N
      • Database (12)
        • SQL (12)
        • MySQL (0)
      • Server (13) N
        • Linux (13) N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Youtube Toastdev
    • Naver Blog
  • 공지사항

    • [유튜브] 유튜브 영상 업로드 안내
  • 인기 글

  • 태그

    데이터베이스
    php코딩
    웹개발기초
    데이터분석
    SQL기초
    php문법
    PHP문자열
    ict
    코딩기초
    컴퓨터기초
    코딩공부
    SQL강의
    php입문
    ubuntuserver
    ubuntu서버
    웹프로그래밍
    리눅스기초
    HTML
    sql
    SQL문법
    php기초
    웹개발
    IT상식
    서버입문
    html기초
    php
    웹개발입문
    코딩입문
    프론트엔드
    서버관리
  • 최근 댓글

  • 최근 글

  • 전체
    오늘
    어제
  • 반응형
  • hELLO· Designed By정상우.v4.10.3
TOASTDEV
[PHP] #18 PHP 문자열 함수, 한글도 정확하게! 문자열 추출 및 분할 함수 정리
상단으로

티스토리툴바