Programming/PHP

[PHP] #19 PHP 문자열 함수, 문자열 수정 및 대체 str_replace부터 정규식까지 총정리

TOASTDEV 2025. 8. 8. 16:00
반응형

 

 

안녕하세요, 토스트데브입니다!
이번 글에서는 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

 

반응형