본문 바로가기

비개발자의 개발 일지

현장 팀장에서 수출 ERP까지 — AI와 함께 시스템을 만든 기록

시리즈 보기
php

PHP trim — 문자열 양끝 공백 제거 완전 정리

by 왕진 2026. 6. 15.
반응형

 

 

Web Development · PHP trim

PHP trim —
문자열 양끝의 공백·탭·줄바꿈 제거

" 1234567890 " → "1234567890"
시작 오늘 분석할 코드
<?php $string = " 1234567890 "; $result = trim($string); // 양 끝의 공백류 문자 제거 ?>

원본 코드는 print가 빠져 화면 출력은 없다. $result에는 "1234567890"이 들어간다 (양 끝 공백 2칸씩 사라짐).

용어 용어 정리
trim()양 끝의 화이트스페이스(공백류) 제거
whitespace공백, 탭, 줄바꿈, NULL 등 보이지 않는 문자
ltrim()왼쪽 끝만
rtrim()오른쪽 끝만
반환값새 문자열 (원본 유지)
두 번째 매개변수제거할 문자 직접 지정
중간 공백trim은 안 만짐 → str_replace 등 사용
실무폼 입력값 정규화의 첫 단계

1 기본으로 제거되는 문자들
문자 표기 설명
공백 " " 스페이스 (가장 흔한 케이스)
"\t" 가로 탭
줄바꿈 "\n" LF (Unix 줄바꿈)
캐리지 리턴 "\r" CR (옛 Mac/Windows)
NULL "\0" NULL 바이트
수직 탭 "\v" 거의 안 씀

2 양끝만 — 중간은 안 만짐
trim(" hello world "); // "hello world" — 가운데 공백은 그대로

중간의 공백까지 압축하려면 다른 방법이 필요하다.

// 가운데 공백 압축 $s = preg_replace('/\s+/', ' ', trim($input)); // " hello world " → "hello world"

3 특정 문자만 제거 — 두 번째 매개변수
trim("xxx hello xxx", "x"); // " hello " trim("(((메시지)))", "()"); // "메시지" trim("/path/to/file/", "/"); // "path/to/file" trim("000123", "0"); // "123" — 앞 0 제거 (조심!)

 

반응형

 

4 활용 — 폼 입력값 정규화
// 사용자가 실수로 앞뒤에 공백 포함 입력 $_POST['email'] = " user@example.com "; $email = trim($_POST['email']); // "user@example.com" // 이제 비교·DB 저장이 안전

로그인·회원가입 등에서 사용자 입력을 받을 때 거의 모든 텍스트 필드에 trim을 적용하는 게 관행.


5 자주 하는 실수
실수 증상 해결
trim($s); 만 적고 다음에 $s 사용 $s 바뀌지 않음 (반환값을 받아야) $s = trim($s);
중간 공백 제거 기대 양끝만 처리됨 preg_replace 또는 str_replace
전각 공백 (한글 입력기) U+3000은 trim 안 됨 preg_replace로 직접 처리
두번째 매개변수 ‐ 헷갈림 제거 시 의도 외 글자 사라짐 제거할 글자 정확히 명시

핵심 한 줄 요약

trim()양 끝의 공백·탭·줄바꿈 등 제거
중간은 안 건드림양 끝만 — 중간 공백은 그대로
반환값새 문자열 — 받아서 사용
한쪽만ltrim (왼쪽), rtrim (오른쪽)
특정 문자두 번째 매개변수로 직접 지정
전각 공백U+3000은 안 됨 → preg_replace 활용
실무폼 입력 정규화의 첫 단계
반응형

댓글