PHP 개발하면서 자주 사용하지만 매번 검색해보게 되는 문자열 관련 함수를 정리하여 보았습니다.
■ 문자열 정리 (trim,ltrim,chop,nl2br)
trim() : 문자열 앞, 뒤에 있는 공백문자 제거
ltrim() : 문자열 앞에 있는 공백문자 제거
chop() : 문자열 뒤에 있는 공백문자 제거
nl2br() : 문자열에 포함된 줄바꿈문자('\r','\n')를 <br/>태그로 변경 (php 4.0.6 이전에는 <br>)
※ 공백문자 -> 스페이스, '\n'(줄바꿈), '\t'(탭)
■ 대소문자 관련 (strtoupper,strtolower,ucfirst,ucword)
strtoupper() : 문자열 전체 대문자로 변경
strtolower() : 문자열 전체 소문자로 변경
ucfirst() : 문자열 첫 문자가 영문일 경우 대문자로 변경
ucword() : 문자열 내 각 단어 첫 문자를 대문자로
■ 문자열 나누기/합치기 (explode,implode,substr)
explode() : 지정 문자를 기준으로 문자를 나누어 배열로 반환
<?php
$result = explode('a', 'thisisapineapple');
echo $result[0] . ' / ' . $result[1] . ' / ' . $result[2];
// 결과 : thisis / pine / pple
implode() : 배열을 지정문자를 기준으로 전, 후에 붙여 문자열을 합친다.
<?php
$array = array('one', 'two', 'three');
echo implode(' / ', $array);
// 결과 : one / two / three
substr() : 문자열을 특정 기준으로부터 원하는 길이만큼 잘라 반환
<?php
$str = 'Hello World';
echo substr($str, 2); // 결과 : He (처음부터 2개)
echo substr($str, 3, 5); // 결과 : lo Wo (3번부터 5개)
echo substr($str, -4, 2); // 결과 : or (뒤에서 4번째부터 2개)
echo substr($str, -5, -2); // 결과 : Worl (뒤에서 5번째부터 뒤에 2번째까지)
■ 문자열 비교(strcmp,strcasecmp)
strcmp() : 앞의 문자열을 기준으로 두 문자열이 같으면 0, 앞의 문자열이 크면 1, 반대라면 -1을 리턴
strcasecmp() : strcmp() 함수와 동일하나 대소문자를 구분하지 않는다.
■ 문자열 길이(strlen)
strlen() : 문자열의 길이를 정수 값으로 리턴
■ 문자열 찾기(strstr,stristr,strchr,strrchr)
strstr() : 문자열 내부에 찾는 문자열이 포함되는지 확인하는 함수
찾는 문자열이 있을 경우 해당 문자열부터 이후 문자열 전부 리턴
찾는 문자열이 없을 경우 false를 리턴
<?php
$str = 'Hello World';
echo strstr($str, 'Wo'); // 결과 : World
echo strstr($str, 'abcde'); // 결과 : flase
stristr() : strstr() 함수와 동일하나 대소문자를 구분하지 않는다.
strchr() : strstr() 함수와 비슷하지만 문자를 찾는다.
strrch() : strchr() 함수와 동일하나 찾는 문자를 해당 문자열 뒤에서부터 찾는다.
■ 문자열 내 위치 찾기(strpos)
strpos() : 문자열 내부에 찾는 문자열이나 문자의 위치를 정수로 리턴
<?php
$str = 'Hello World';
echo strpos($str, 'Wo'); // 결과 : 6
echo strpos($str, 'o'); // 결과 : 4
echo strpos($str, 'o', 5) // 결과 : 7 (5번째 문자부터 찾기)
strrpos() : strpos() 함수와 동일하나 뒤에서부터 찾는다.
※ strpos, strrpos 모두 찾는 문자(열)이 없으면 false를 리턴
PHP에서 false는 0으로 취급되기 때문에 결과값 확인 시 주의하여야 합니다.
ex) strpos($str, 'H') == false (true) / strpos($str, 'H') === false (false)
■ 문자열 변경(str_replace,substr_replace)
str_replace() : 문자열에서 문자(열)을 찾아 대체문자(열)로 변경
substr_replace() : 문자열의 특정 위치의 문자를 대체문자(열)로 변경
<?php
$str = 'Hello World';
echo str_replace('lo', 'l', $str); // 결과 : Hell World
echo substr_replace($str, 'i He', 1); // 결과 : Hi Hello World