본문 바로가기

php 문자열 다루기 관련 함수 사용법

개발 하다보면 다양한 문자열을 다양하게 바꾸거나 다루거나 체크하거나 변경을 할 일이 많이 발생한다.


치환을 할 때도 정규식을 이용해서 걸러낼때도 분리를 할때도 많이 다루게 된다. 


PHP로 문자열을 다룰때 제공되고 있는 여러 함수를 이용을 하게 되고 찾아보게 된다.


몇가지를 알아보자.



php 문자열 자르기

substr

사용법 : substr( '스트링', '시작위치', '길이');


첫번째 파라메터는 대상이 될 문자 스트링

두번째는 잘릴 위치, 3번째는 자를 길이다.

제일 첫 위치가 1이아닌 0이므로 잘 생각해본다.


$str = 'ABCDEFGHJ';

$str_result = substr( $str, 3, 2); 

=> DE


한글을 잘라보자. 한글은 바이트 계산을 해도 되지만 mb_substr을 이용하자.

사용법은 같다.


$str = '가나다라마바사';

$str_result = mb_substr( $str, 2,3); 

=> 다라마

두번째 세번째 파라메터중 3번째는 삭제를 할 수 있다. 입력을 안하게 되면 지정 위치부터 끝까지 가져온다.

$str='오늘은 날씨가 매우좋습니다.';
$str_result = mb_substr( $str, 2 );
=>은 날씨가 매우좋습니다.

중간 파라메터의 - 값을 주게되면 뒤에서 기준이 틀려진다.

그 밖의 문자 함수로

str_replace : 문자열을 치환할 수 있다.
찾을 문자열, 바꿀 문자열, 대상문자열

$str = '오늘은 날씨가 매우 좋습니다.';
str_replace( '오늘', '내일', $str );
=> 내일은 날씨가 매우 좋습니다.

그 밖에 문자가 있는 위치를 찾을 때 strpos 없으면 -1값이 리턴됨
strlen

첫글짜 대문자 ucfirst 소문자를 모두 대문자로 strtoupper, 반대의 경우 strtolower, 

explode는 주어진 문자로 잘라서 배열로 만든다

$str = 'AAAA#BBBBB';
$str_result = explode('#", $str ); //샵 기준으로 잘라라.

strcmp, strstr 등등 꽤 많이 있다.
한글과 관련해서 같은 함수의 mb_를 붙이거나 찾아서 찍어보면 대부분 해결할 수 있다.