반응형
안녕하세요, 토스트데브입니다!
이번 글에서는 PHP로 문자열을 다룰 때 수정하거나 바꾸는 작업, 즉 "치환"과 "교체"를 수행하는 데 사용하는 유용한 함수들을 정리해보겠습니다.
✅ 1. str_replace() – 문자열 간단 대체
$str = "I like JavaScript.";
echo str_replace("JavaScript", "PHP", $str);
// 출력: I like PHP.
- 첫 번째 인자: 바꿀 문자열
- 두 번째 인자: 새 문자열
- 세 번째 인자: 원본 문자열
🔁 배열 형태로 여러 개 치환도 가능!
$text = "빨강, 파랑, 초록";
echo str_replace(["빨강", "초록"], ["RED", "GREEN"], $text);
// 출력: RED, 파랑, GREEN
✅ 2. substr_replace() – 특정 위치의 문자열 변경
$str = "toastdev";
echo substr_replace($str, "PHP", 0, 5);
// 출력: PHPdev
- 인자: (원본문자열, 대체문자열, 시작위치, 치환길이)
- 문자열 일부만 바꾸고 싶을 때 유용
✅ 3. strtr() – 문자 또는 문자열 단위로 매핑 대체
$str = "hello world";
echo strtr($str, "eo", "30");
// 출력: h3ll0 w0rld
- 문자 단위로 매핑 가능: e → 3, o → 0
- 연관 배열로도 사용 가능:
$str = "바나나, 사과, 포도";
echo strtr($str, ["바나나" => "banana", "포도" => "grape"]);
// 출력: banana, 사과, grape
✅ 4. preg_replace() – 정규표현식 기반 문자열 치환
$str = "전화번호: 010-1234-5678";
echo preg_replace("/[0-9]{3}-[0-9]{4}-[0-9]{4}/", "***-****-****", $str);
// 출력: 전화번호: ***-****-****
- 복잡한 패턴을 찾아서 대체 가능
- 이메일, 전화번호, 주민번호 마스킹 등 실전 예제에 강력
✅ 함수별 요약 비교
함수 | 설명 | 특징 |
str_replace() | 문자열 단순 치환 | 가장 기본적, 빠름 |
substr_replace() | 문자열의 일부를 위치 지정해 치환 | 시작 위치/길이 지정 가능 |
strtr() | 문자 또는 문자열 매핑 | 빠르고 직관적 |
preg_replace() | 정규표현식으로 치환 | 복잡한 패턴 처리 가능 |
✅ 실전 예제: 이메일 마스킹
$email = "user@example.com";
$masked = preg_replace("/(.*)@/", "****@", $email);
echo $masked; // 출력: ****@example.com
🔒 보안 팁
- 사용자 입력값 치환 시 XSS 방지를 위한 htmlspecialchars()와 병행 사용 권장
- 패턴 대체 작업 시 정규식 오용에 주의
✨ 마무리
문자열을 다루는 데 있어 “수정과 치환”은 정말 자주 등장하는 작업입니다.
단순한 문구 교체부터, 마스킹이나 필터링까지 다양한 함수 조합으로 데이터를 깔끔하게 정제해보세요!
#PHP문자열 #str_replace #substr_replace #preg_replace #문자열치환 #문자열수정 #정규식치환 #PHP기초 #문자열함수 #코딩입문 #toastdev
반응형
'Programming > PHP' 카테고리의 다른 글
[PHP] #21 PHP 문자열 함수, 문자열 암호화 및 해싱 password_hash부터 md5까지 (1) | 2025.08.10 |
---|---|
[PHP] #20 PHP 문자열 함수, 문자열 정리 및 필터링 함수 총정리 trim부터 htmlspecialchars까지 (2) | 2025.08.09 |
[PHP] #18 PHP 문자열 함수, 한글도 정확하게! 문자열 추출 및 분할 함수 정리 (3) | 2025.08.07 |
[PHP] #17 PHP 문자열 함수, 대소문자 및 첫 글자 변환 함수 간단 정리 (2) | 2025.08.06 |
[PHP] #16 PHP 문자열 함수, 문자열 길이 및 정보 확인 함수 총정리! (1) | 2025.08.05 |