홈으로 | 무료회원가입 | 아이디/비번찾기
추천음악방송
php 문자열 자르기, 비교, 찾기 함수, str replace, substr ,strpos, explode 등등 정리
10년 전
php 문자열 함수 아른하면서도 필요할때는 항상 까먹고 뒤적이게 되는 함수들입니다.

개인적으로 정리해 놓으면 편할거같아 정리해봤습니다.



1. 먼저 문자열을 정리하는 함수입니다.

$result = trim($string) - 문자열 앞,뒤 에있는 공백문자를 지웁니다.

$result = ltrim($string) - 문자열 앞에 들어가는 공백문자를 지웁니다.

$result = chop($string) - 문자열 뒤에 들어가는 공백문자를 지웁니다.



공백문자 - 줄바꿈 개행문자, 탭문자, 스페이스 등의 안보이는 문자



$result = nl2br($string) - 문자열에 포함된 줄바꿈(\r,\n) 문자를 <br> 태그로 변환합니다. (php 버전이 4.0.6 보다 낮을경우 <br> 높을경우 <br/>)



2. 대소문자 변경



$result = strtoupper($string) - 문자열을 대문자로 모두 바꿔줍니다.

$result = strtolower($string) - 문자열을 소문자로 모두 바꿔줍니다.

$result = ucfirst($string) - 문자열의 첫단어가 영문자이면 그것만 대문자로 바꿔줍니다.

$result = ucword($string) - 문자열 각단어의 첫 영문자를 대문자로 바꿔줍니다.



3. 문자열 길이



$result = strlen($string) - 문자열의 길이값이 $result 에 저장됩니다. (결과값:정수형)



4. 문자열 대체



$result = str_replace($str1, $str2, $원본문자열) - 원본문자열에서 $str1 을 찾아 $str2 로 바꿔서 $result 에 저장합니다. 문자 or 문자열 다 가능합니다.

$result = substr_replace($원본문자열, $str1, $위치) - 원본문자열의 $위치 에 있는 문자를 $str1 로 바꿔서 $result 에 저장합니다.



예제) $result = str_reaplce("가나다","ABC","가나다라마바사"); 결과값 $result = "ABC라마바사"

        $result = substr_reaplce("ABCDEF","XYZ",2); 결과값 $result = "ABXYZDEF" , 인덱스 2의 단어(0부터시작) C -> XYZ 로 바뀝니다.



5. 문자열 비교



$result = strcmp($str1,$str2) - $str1 과 $str2 두 문자열을 비교합니다. 각 문자열의 인덱스 순서대로 비교하는데 정확히 일치하면 0 을 반환하고

                                           $str1 이 더 길거나 ASCII 값이 더 크다면 양수(+), $str2 가 더 길거나 ASCII 값이 더 크다면 음수(-)를 반환합니다.



$result = strcasecmp($str1,$str2) - strcmp와 기능은 같은데 차이점은 대소문자 구분을 하지않는다는 것입니다.

                                                  일반적으로 소문자가 ASCII 값이 더 큰데, 그걸 따지지않고 같은 레벨로 비교합니다.



6. 문자열찾기



$result = strstr($원본문자열, $찾을문자열) - $원본문자열 에서 $찾을문자열을 찾는 함수입니다.

                                                              찾는 문자열이 있을경우 결과값 $result 에는 찾는 문자열을 포함해서 그 뒤의 문자열이 저장됩니다.

                                                              찾는 문자열이 없을경우 결과값 $result 에는 false (boolean) 값이 저장됩니다. 논리연산(!== , ===) 필요.



예제) $result = strstr("가나다라마바사", "다라"); 결과값 $result = "다라마바사"



$result = stristr($원본문자열, $찾을문자열) - strstr 함수와 기능이 같습니다. 단, 대소문자 구분을 하지않습니다.



$result = strchr(($원본문자열, $찾을문자) - $원본문자열 에서 $찾을문자를 찾는 함수입니다. 결과값은 strstr 과같습니다.



$result = strrchr(($원본문자열, $찾을문자) - $원본문자열의 뒷부분 부터 $찾을문자를 찾는 함수입니다. 결과값은 strstr과 같습니다.



7. 문자열 내의 위치찾기



$result = strpos($원본문자열, $찾을문자열) - $원본문자열 에서 $찾을문자열을 찾는 함수입니다.

                                                               strstr 과 기능은 같으나 결과값이 $원본문자열의 정수형 인덱스입니다.(0 부터시작)

                                                               찾을문자열이 없는경우 false 를 리턴합니다.

                                                               찾을문자열이 원본문자열의 맨처음에 있는경우 결과값은 0 입니다.

                                                               단순비교연산자를 쓰면 0 , false 모두 같은값으로 간주하기때문에 주의하셔야됩니다. (아래 주의 참고)



주의) strpos 등의 문자나 문자열을 찾는 함수의 경우 , 찾지 못했을때 결과값은 false입니다.

        PHP 에서 == 등의 비교연산은 0 , false 모두 0 으로 간주하기때문에 이때는 논리비교연산(=== , !==)을 써야됩니다.

        $result === false (0)  , $result == false (X)

        $result !== false (0) , $result != false (X)

                                                              

예제) $result = strpos("가나다라마바사","라"); 결과값 $result = 3



$result = strrpos($원본문자열, $찾을문자) - $원본문자열의 뒷부분 부터 $찾을문자를 찾는 함수입니다.

                                                             strrpos는 찾을문자열 대신 찾을문자만 써야됩니다. 결과값은 strpos와 같습니다.



8. 문자열 자르기



$result = substr($원본문자열, $찾을위치, $갯수) - $원본문자열에서 $찾을위치의 인덱스로부터 $갯수만큼의 문자열을 잘라서 반환합니다.

                                                                      다양한 방법으로 활용할 수 있습니다.



예제)

$original_str = "It's hard to be in other's shoes.";

$result = substr($original_str, 5) -> $result = "hard to be in other's shoes." , 맨앞(0)의 5번 위치부터

$result = substr($original_str, -2) -> $result = "s." , 맨뒤에서부터의 인덱스 2 만큼

$result = substr($original_str, 5, 4) -> $result = "hard" , 5번 위치부터 4개

$result = substr($original_str, 5, -8) -> $result = "hard to be in other's" , 5번 위치부터 뒤에서 8번째 까지

추천추천 : 470 추천 목록
번호 제목
3,030
 제이쿼리 기본 명령어
3,029
 웹페이지 가로 모드세로 모드 인식하기
3,028
 모바일 웹 화면 강제 회전(가로모드 고정)
3,027
 [HTML5]에서 frameset 대체 방법과 iframe 속성
3,026
 HTML <Audio> 사용법
3,025
 윈도우10 시스템파일 손상 (초간단 오류 복구방법!!)
3,024
 PHP 파일 존재 여부 파악하기(로컬 파일 존재 및 원격지 파일 존재)
3,023
 [CSS] 박스 세로 가운데 중앙 정렬 6가지
3,022
 CSS Layout 수평 & 수직 정렬
3,021
 여러 도메인들 간 쿠키 공유하기
3,020
 태그 사이에 있는 텍스트를 추출
3,019
 [JQuery] textbox focus on off일때 숫자 콤마 보여주기
3,018
 쿠키 생성,가져오기,삭제
3,017
 사용자 함수 모음
3,016
 마우스,키보드 제한 ( 오른쪽클릭,드래그,영역선택등..)
3,015
 [HTML5] <video> - DOM으로 제어하기
3,014
 HTML5 video 태그에서 영상 좌우반전
3,013
 PHP - 특정 태그 및 문자열 추출, 제거
3,012
 [PHP] define과 defined의 차이
3,011
 우클릭 완벽차단 스크립트
3,010
 iframe 높이 100% 맞추기
3,009
 curl 함수를 이용한 HTTP REFERER 변경
3,008
 윈도우10 시스템 파일 및 Dism 검사
3,007
 텍스트 줄바꿈, 글자자르기 CSS
3,006
 jQuery Mobile에서 유용한 코드 10가지.
목록
뮤직트로트 부산광역시 부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.