[PHP] 문자열 함수 모음 |
문자열 다듬기
trim(), ltrim(), chop()
문자열 정돈
nl2br()
문자열의 대소문자 관련 함수
strtoupper(),strtolower(),ucfirst(),ucword()
문자열 나누고 합치기
explode(),implode(),join()
문자열 자르기
substr()
문자열 비교하기
eregi(),ereg(),strcmp(),strcasecmp()
문자열의 길이 확인하기
strlen(),
문자열 안에서 문자열 찾기
strstr(),stristr(),strchr(),strrch()
문자열의 위치 찾아내기
strpos()
문자열 대체하기
str_replace(),substr_replace()
/* PHP 문자열 함수 ● 문자열 다듬기 - trim(), ltrim(), chop()에서 지우는 공백은 스페이스, '\n'(줄바꿈), '\t'(가로 탭), '\v', */ $str = trim($str); //문자열의 처음과 끝에 있는 공백을 지운다. $str = ltrim($str);// 문자열의 처음에 있는 공백을 지운다. $str = chop($str); // 문자열의 끝에 있는 공백을 지운다. /* ● 문자열 정돈 */ $str = nl2br($str); //문자열중 줄바꿈문자(\n)를 XHTML에서의 줄바꾸기인
태그로 바꾸어 준다.(4.0.5 이전의 HTML에서는
태그) /* ● 문자열의 대소문자 관련 함수 */ $str = strtoupper($str); // 모든 알파벳을 대문자로 $str = strtolower($str); // 모든 알파벳을 소문자로 $str = ucfirst($str); //문장의 처음이 알파벳이면 그것만 대문자로 $str = ucword($str); //각 단어의 첫 알파벳을 대문자로 /* ● 문자열 나누고 합치기 */ $str = explode($str); // 지정 문자를 기준으로 문자열의 전, 후를 나누어 배열로 저장한다. /* ex) $phone = '010-1234-5678'; $phone_array = explode('-', $phone); $phone_array[0] → '010'; $phone_array[1] → '1234'; $phone_array[2] → '5678'; */ $phone = implode('-', $phone_array); //지정 문자를 기준으로 배열을 전, 후에 배치하여 문자열을 합친다. $phone = join('-', $phone_array); // 위와 동일함 //ex) $phone = implode('-', $phone_array); $phone → '010-1234-5678'; /* ● 문자열 자르기 */ $str = substr($str); //문자열 중 특정 시작부분과 끝부분 사이의 문자열을 추출하는데 사용한다. $str = 'PHP Webprogramming'; $str1 = substr($str, 1); //'HP Webprogramming'(앞에서 1번 부터) $str2 = substr($str, -1); // 'g'(뒤에서 1번 부터) $str3 = substr($str, 5, 8); //'ebprogra'(앞에서 5번부터 8개) $str4 = substr($str, 4, -2); //'Webprogrammi'(앞에서 4번부터 뒤에서 2번까지) /* ● 문자열 비교하기 */ $string = eregi($pattern, $string) // 대소문자 구분없이 검색 $string = "AbCdeFghiJ"; if(eregi("abcdefghij", $string)) echo "find!"; $string = ereg($pattern, $string) // 대소문자를 구분하여 검색 $string = "AbCdeFghiJ"; if(ereg("abcdefghij", $string)) echo "find!"; $str = strcmp($str); $var1 = "Hello"; $var2 = "Hello"; if (strcmp($var1, $var2) == 0) { echo '대소문자 구분하며, 두문자가 같으면 0을 반환 합니다.'; } // C언어에서의 함수와 같다. 앞의 문자열을 기준으로 같으면 0을, 우선순위가 높으면 -1을, 반대의 경우에는 1을 리턴한다. // 단, 대문자와 소문자의 경우 소문자가 우선순위가 더 높다.(ASCII코드의 대소관계를 생각하면 쉽다.) $str = strcasecmp($str);// C언어에서의 stricmp()와 같다. 두 문자열을 비교하는 것은 strcmp()와 같지만 대소문자를 구분하지 않는다. $var1 = "Hello"; $var2 = "hello"; if (strcasecmp($var1, $var2) == 0) { echo '대소문자를 구별하지 않는 문자열 비교에서 $var1은 $var2와 동일합니다.'; } /* ● 문자열의 길이 확인하기 */ $str = strlen($str); // C언어에서의 함수와 같다. 문자열의 길이를 정수값으로 리턴해준다. /* ● 문자열 안에서 문자열 찾기 */ $str = strstr($str,'search'); $str='Lion sleep to night'; $res = strstr($str, 'sleep'); $res → 'sleep to night' //문자열 안에서 특정 문자열과 일치하는 부분이 있는지 찾아내는데 쓰이는 함수이다. //일치하는 문자열이 있을 때는 해당 문자열이나 문자를 포함하여 이후 문자열을 리턴한다. //일치하는 문자열이 없을 시에는 false를 리턴한다. $str = stristr($str,'search'); // strstr()과 같으나 대소문자를 구분하지 않는다.(ABC, Abc, aBC모두 같은 것으로 취급한다.) $str = strchr($str,'search'); // strstr()과 같으나 문자열대신 문자를 찾는다. $str = strrch($str,'search'); // strchr()과 같으나 뒤에서 부터 일치하는 문자를 찾기 때문에 마지막으로 나타난 문자부터 문자열을 출력한다. /* ● 문자열의 위치 찾아내기 */ $str = strpos($str, 'char'); // 문자열 내에서 일치하는 문자열이나 문자를 찾아 문자열 대신 해당 위치를 숫자로 알려준다. $test = 'Ice cream'; $res1 = strpos($test, 'a'); //7(0부터 시작한다.) $res2 = strpos($test, 'e'); //2(일치하는 문자나 문자열이 많을 경우 가장 앞의 것을 기준으로 한다.) $res = strpos($test, 'e', 4); //6(앞에서부터 4번째에 있는 c부터 해당문자열의 위치를 찾는다.) // ※ 이 예에서는 문자만 사용하였지만 문자열도 얼마든지 사용할 수 있다. $str = strrpos($str, 'char'); // strpos와 비슷하나 찾는 문자가 가장 마지막에 보이는 곳의 위치를 리턴한다. $res = strpos('Hello world', 'H'); //이 경우에는 가장 앞에 'H'가 있기 때문에 0을 리턴하지만 PHP는 false와 구분하지 못한다. if($res === false){ echo 'Not found'; }else{ echo 'Found at position 0'; } //strrpos()는 strpos()와 달리 문자만 사용할 수 있다. // 두 함수 모두 만약 문자열에 needle(찾는 문자나 문자열)이 없으면 false를 리턴하는데 PHP에서는 false를 0과 같다고 보기 때문에 //위치 0을 리턴한것인지 false를 리턴한 것인지 구분할 수가 없다. 이 문제는 === 연산자를 사용하여 해결할 수 있다. /* ● 문자열 대체하기 */ $res = str_replace('g', 'c', $test); // 문자열에서 문자열를 찾아 대체문자열로 바꾸어 리턴한다. $test = 'Change'; $res = str_replace('g', 'c', $test); // 'Chance' $res = substr_replace($test, 'C', -1); // 특정 위치의 문자열을 대체문자열로 바꾸어 리턴한다. $test = 'Vitamin A'; $res = substr_replace($test, 'C', -1); // 'vitamin C' ?>
'프로그램 > PHP' 카테고리의 다른 글
[PHP]cURL로 웹페이지 가져오기 (0) | 2014.07.18 |
---|---|
[PHP] 쿠키(COOKIE)로 오늘 본 상품 구현방법 (0) | 2014.01.21 |
[PHP]페이지 인증 $PHP_AUTH_USER,$PHP_AUTH_PW (0) | 2013.08.26 |
[PHP]엑셀(excel) 출력화면 엑셀로 다운로드 받기 (0) | 2013.02.07 |
[PHP] mysql 디비 접속 (0) | 2013.02.05 |