PHP 문자열 함수

PHP 2012. 1. 17. 11:00

PHP 문자열 함수

 

 ● 문자열 다듬기

 - trim(), ltrim(), chop()에서 지우는 공백은 스페이스, '\n'(줄바꿈), '\t'(가로 탭), '\v',

 ○ trim();

      - 문자열의 처음과 끝에 있는 공백을 지운다.

 ○ ltrim();

      - 문자열의 처음에 있는 공백을 지운다.

 ○ chop();

      - 문자열의 끝에 있는 공백을 지운다.

 

 ● 문자열 정돈

 ○ nl2br();

      - 문자열중 줄바꿈문자(\n)를 XHTML에서의 줄바꾸기인 <br/>태그로 바꾸어 준다.(4.0.5 이전의 HTML에서는 <br>태그)

 

 ● 문자열의 대소문자 관련 함수

 ○ strtoupper();

      - 모든 알파벳을 대문자로

 ○ strtolower();

      - 모든 알파벳을 소문자로

 ○ ucfirst();

      - 문장의 처음이 알파벳이면 그것만 대문자로

 ○ ucword();

      - 각 단어의 첫 알파벳을 대문자로

 

 ● 문자열 나누고 합치기

 ○ explode();

      - 지정 문자를 기준으로 문자열의 전, 후를 나누어 배열로 저장한다.

      ex) $email = 'email@email.com';     $email_array = explode('@', $email);

           $email_array[0] → 'email';     $email_array[1] → 'email.com';

 ○ implode();, join();

      - 지정 문자를 기준으로 배열을 전, 후에 배치하여 문자열을 합친다.

      ex) $new_email = implode('@', email_array);     $new_email → 'email@email.com';

 

 ○ strtok();

      -

 ○ substr();

      - 문자열 중 특정 시작부분과 끝부분 사이의 문자열을 추출하는데 사용한다.

      ex) $test = 'PHP Webprogramming';

           $test1 = substr($test, 1);     $test2 = substr($test, -1);     $test3 = substr($test, 5, 8);     $test4 = substr($test, 4, -2);

           $test1 → 'HP Webprogramming'(앞에서 1번 부터)

           $test2 → 'g'(뒤에서 1번 부터)

           $test3 → 'ebprogra'(앞에서 5번부터 8개)

           $test4 → 'Webprogrammi'(앞에서 4번부터 뒤에서 2번까지)

 

 ● 문자열 비교하기

 ○ strcmp();

      - C언어에서의 함수와 같다. 앞의 문자열을 기준으로 같으면 0을, 우선순위가 높으면 -1을, 반대의 경우에는 1을 리턴한다.

      - 단, 대문자와 소문자의 경우 소문자가 우선순위가 더 높다.(ASCII코드의 대소관계를 생각하면 쉽다.)

 ○ strcasecmp();

      - C언어에서의 stricmp()와 같다. 두 문자열을 비교하는 것은 strcmp()와 같지만 대소문자를 구분하지 않는다.

 ○ strnatcmp(); & strnatcasecmp();

      - 이 두 함수는 문자열을 좀더 자연스러운 기준에서 비교한다.(strnatcmp("12","2")의 결과는 1이다.)

      - 이 두 함수의 차이는 대소문자의 구분여부이다.(이 두 함수의 차이는 case의 유무여부이다.)

 

 ● 문자열의 길이 확인하기

 ○ strlen();

      - C언어에서의 함수와 같다. 문자열의 길이를 정수값으로 리턴해준다.

 

 ● 문자열 안에서 문자열 찾기

 ○ strstr();

      - 문자열 안에서 특정 문자열과 일치하는 부분이 있는지 찾아내는데 쓰이는 함수이다.

      - 일치하는 문자열이 있을 때는 해당 문자열이나 문자를 포함하여 이후 문자열을 리턴한다.

      - 일치하는 문자열이 없을 시에는 false를 리턴한다.

      ex) $str='Lion sleep to night';     $res = strstr($str, 'sleep');

           $res → 'sleep to night'

 ○ stristr();

      - strstr()과 같으나 대소문자를 구분하지 않는다.(ABC, Abc, aBC모두 같은 것으로 취급한다.)

 ○ strchr();

      - strstr()과 같으나 문자열대신 문자를 찾는다.

 ○ strrch();

      - strchr()과 같으나 뒤에서 부터 일치하는 문자를 찾기 때문에 마지막으로 나타난 문자부터 문자열을 출력한다.

 

 ● 문자열의 위치 찾아내기

 ○ strpos();

      - 문자열 내에서 일치하는 문자열이나 문자를 찾아 문자열 대신 해당 위치를 숫자로 알려준다.

      ex) $test = 'Ice cream';     $res1 = strpos($test, 'a');     $res2 = strpos($test, 'e');

           $res1 → 7(0부터 시작한다.)     $res2 = 2(일치하는 문자나 문자열이 많을 경우 가장 앞의 것을 기준으로 한다.)

      ex) $test = 'Ice cream';     $res = strpos($test, 'e', 4);

           $res = 6(앞에서부터 4번째에 있는 c부터 해당문자열의 위치를 찾는다.)

      ※ 이 예에서는 문자만 사용하였지만 문자열도 얼마든지 사용할 수 있다.

 ○ strrpos();

      - strpos와 비슷하나 찾는 문자가 가장 마지막에 보이는 곳의 위치를 리턴한다.

      ※ strrpos()는 strpos()와 달리 문자만 사용할 수 있다.

 ※ 두 함수 모두 만약 문자열에 needle(찾는 문자나 문자열)이 없으면 false를 리턴하는데 PHP에서는 false를 0과 같다고 보기 때문에

      위치 0을 리턴한것인지 false를 리턴한 것인지 구분할 수가 없다. 이 문제는 === 연산자를 사용하여 해결할 수 있다.

 ex) $res = strpos('Hello world', 'H');     //이 경우에는 가장 앞에 'H'가 있기 때문에 0을 리턴하지만 PHP는 false와 구분하지 못한다.

      if($res === false)

           echo 'Not found';

      else

           echo 'Found at position 0';

 

 ● 문자열 대체하기

 ○ str_replace();

      - 문자열에서 문자열를 찾아 대체문자열로 바꾸어 리턴한다.

      ex) $test = 'Change';     $res = str_replace('g', 'c', $test);

           $res → 'Chance'

 ○ substr_replace();

      - 특정 위치의 문자열을 대체문자열로 바꾸어 리턴한다.

      ex) $test = 'Vitamin A'; $res = substr_replace($test, 'C', -1);

           $res → 'vitamin C'

'PHP' 카테고리의 다른 글

PHP DATE 정리~  (0) 2012.02.08
PHP 배열 정리  (0) 2012.02.03
PHP JSON 처리  (0) 2012.02.02
PHP $_SERVER 정의  (0) 2012.01.31
date 함수 사용법  (0) 2012.01.13
블로그 이미지

스마트전

,