[PHP] #20 PHP 문자열 함수, 문자열 정리 및 필터링 함수 총정리 trim부터 htmlspecialchars까지

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

 

 

안녕하세요, 토스트데브입니다!
웹 개발에서 사용자의 입력을 처리하다 보면 공백, 특수문자, 태그 등 불필요한 부분을 정리하거나 필터링해야 할 때가 많습니다.
이번 글에서는 그럴 때 유용하게 사용할 수 있는 PHP 문자열 정리 및 필터링 함수들을 정리해보겠습니다.

 

 

✅ 1. trim() – 앞뒤 공백 제거

$str = "  hello world  ";
echo trim($str);  // 출력: hello world
  • 좌우 공백 제거
  • 기본은 공백, 탭, 줄바꿈 문자 제거
  • 인자를 주면 특정 문자 제거도 가능:
    trim(",,apple,,", ","); → apple

 

🔹 관련 함수

  • ltrim() : 왼쪽 공백만 제거
  • rtrim() : 오른쪽 공백만 제거

 

 

✅ 2. htmlspecialchars() – HTML 특수문자 필터링

$str = "<script>alert('XSS');</script>";
echo htmlspecialchars($str);
// 출력: &lt;script&gt;alert(&#039;XSS&#039;);&lt;/script&gt;

 

  • XSS 공격 방지용 필수 함수
  • <, >, ", ' 등을 HTML 코드로 변환해 브라우저가 실행하지 못하도록 함
  • 폼 처리나 게시판 등 사용자 입력이 포함된 페이지에서 반드시 사용 권장

 

 

✅ 3. strip_tags() – HTML 태그 제거

$str = "<b>bold</b> text";
echo strip_tags($str);  // 출력: bold text

 

 

  • HTML 태그를 완전히 제거
  • 옵션으로 허용할 태그 지정 가능
strip_tags($str, "<b>");  // <b>는 유지

 

 

 

✅ 4. filter_var() – 필터 기반 정리 및 검증

$email = "   user@example.com   ";
$cleaned = trim($email);

if (filter_var($cleaned, FILTER_VALIDATE_EMAIL)) {
  echo "올바른 이메일입니다.";
}

 

  • 다양한 필터 상수 제공: FILTER_SANITIZE_STRING, FILTER_VALIDATE_URL, 등
  • 정리와 검증을 한 번에 처리할 수 있는 강력한 함수

 

 

✅ 5. str_replace() – 불필요 문자 직접 제거

$str = "010-1234-5678";
echo str_replace("-", "", $str);  // 출력: 01012345678

 

 

  • 하이픈, 특수문자 등 제거할 대상이 명확할 때 유용
  • preg_replace()와 함께 정규식으로도 필터링 가능

 

 

🛡 보안 필터링 실전 예시

 

$name = "<b>홍길동</b>";
$comment = "<script>alert('x');</script>";

$safe_name = strip_tags($name);  // 홍길동
$safe_comment = htmlspecialchars($comment);  // XSS 방지

 

 

🧩 요약 정리표

함수 설명 사용 예시
trim() 앞뒤 공백 제거 입력 필드 정리
htmlspecialchars() 특수문자 필터링 XSS 방지
strip_tags() HTML 태그 제거 게시판, 댓글
filter_var() 정리 + 유효성 검증 이메일, URL, 정수 등
str_replace() 특정 문자 제거 전화번호, 하이픈 제거

 

 

#PHP문자열 #문자열정리 #htmlspecialchars #strip_tags #filter_var #trim #PHP보안 #입력값정제 #코딩입문 #PHP기초 #toastdev

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

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

[PHP] #19 PHP 문자열 함수, 문자열 수정 및 대체 str_replace부터 정규식까지 총정리  (2) 2025.08.08
[PHP] #18 PHP 문자열 함수, 한글도 정확하게! 문자열 추출 및 분할 함수 정리  (3) 2025.08.07
[PHP] #17 PHP 문자열 함수, 대소문자 및 첫 글자 변환 함수 간단 정리  (2) 2025.08.06
[PHP] #16 PHP 문자열 함수, 문자열 길이 및 정보 확인 함수 총정리!  (1) 2025.08.05
[PHP] #15 PHP로 JSON 응답처리, 파싱부터 API 응답까지 완벽 정리!  (3) 2025.07.26
'Programming/PHP' 카테고리의 다른 글
  • [PHP] #19 PHP 문자열 함수, 문자열 수정 및 대체 str_replace부터 정규식까지 총정리
  • [PHP] #18 PHP 문자열 함수, 한글도 정확하게! 문자열 추출 및 분할 함수 정리
  • [PHP] #17 PHP 문자열 함수, 대소문자 및 첫 글자 변환 함수 간단 정리
  • [PHP] #16 PHP 문자열 함수, 문자열 길이 및 정보 확인 함수 총정리!
TOASTDEV
TOASTDEV
인스턴트 코딩 #토스트데브 #토스트뎁 #코딩공부 #개발입문
  • TOASTDEV
    토스트뎁
    TOASTDEV
    • 분류 전체보기 (84) N
      • 알쓸신잡 (31) N
        • 코딩에 대하여 (13)
        • 컴퓨터에 대하여 (9) N
        • IT 국내외 소식 (9)
      • Web Front (6)
        • HTML (6)
        • CSS (0)
        • JavaScript (0)
      • Programming (20) N
        • PHP (20) N
      • Database (12)
        • SQL (12)
        • MySQL (0)
      • Server (15) N
        • Linux (15) N
  • 블로그 메뉴

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

    • Youtube Toastdev
    • Naver Blog
  • 공지사항

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

  • 태그

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

  • 최근 글

  • 전체
    오늘
    어제
  • 반응형
  • hELLO· Designed By정상우.v4.10.3
TOASTDEV
[PHP] #20 PHP 문자열 함수, 문자열 정리 및 필터링 함수 총정리 trim부터 htmlspecialchars까지
상단으로

티스토리툴바