사용자 도구

사이트 도구


language:php:php_문자열과_정규식

~~Title:PHP 문자열과 정규식~~

language:php:php_문서_목차&noheader&nofooter&noeditbtn&firstseconly

문자열

mail() 함수

mail( $toAddr, $... ); // 메일전송

php에 메일을 send하는 설정이 추가 되어 있어야 동작한다.

문자열 다듬기

trim() 문자열 앞,뒤 공백 제거
ltrim() 왼쪽의 공백 제거
rtrim() 오른쪽의 공백 제거
nl2br() “\n”을 <br/> 로 변경
print() echo와 같은데, 리턴 값이 있다
printf()
sprintf()
포맷에 맞춰 스트링을 만든다.
vprintf()
vsprintf()
c 함수와 같다.
strtoupper()
strtolower()
설명 필요?
ucfirst() 문장 처음의 알파벳이면 그것만 대문자로
ucwords() 각 단어의 첫 알파벳을 대문자로

DB용 문자열 다듬기

addslash() “ → \”, '\' → '\\', '\\' → '\\\' 로 변경 (?)
특수기호에 슬래쉬 기호를 붙여준다.

magic_quotes_gpc 설정이 있으면 자동으로 추가된다.

문자열 분리

리턴된(array) = explode( '@', "nobody@kkkmail.com" );
< 80% - - - →
return 함수 이름 구분자 분리할 문자열
array 리턴 explode ( '@', $emailString );
implode( '@', $emailArray );

$emailArray 배열의 문자열들을 '@'를 넣어서 합친다.

substr( $stringA, /*int*/$startPos, /*int*/ $len );
  • $stringA 에서 $startPos 부터 $len 만큼 문자열 리턴.
  • $startPos > 0 : $startPos 부터 오른쪽으로
  • $startPos < 0 : $startPos 부터 왼쪽으로
strcmp( $str1, $str2 ) $str1이 $str2보다 순서상 뒤에 온다면 (크다면) 양수 리턴
strnatcomp() “12”가 “2”보다 크다와 같이, 사람의 기준에 맞춰서 비교
strlen() 문자열의 길이 리턴
strstr() 대소문자 구분해서, 문자열 찾기
stristr() 대소문자 구분 없이, 문자열 찾기
strchr() 대소문자 구분 없이 한글자 찾기
strichr() 대소문자 구분 해서, 한글자 찾기
str_replace() ?
// $strA에서 $strB가 시작 되는 위치
strpos( $strA, $strB, $needle, /*int*/ $offset );
// $strA를 $strB로 변경
substr_replace( $strA, $strB, /*int*/ $startPos, /*int*/ $len );

정규식

php 에서는 작은 따옴표에 넣는다. 쌍따옴표(\“)는 php가 임의 해석할 수 있다.

정규식 기호

.  한글자 아무거나
[ ,]	괄호 안의 패턴 모두, (그래봐야 한글자)에 대한 패턴
[^ , ]	괄호 안의 패턴이 아닌 것에 대해서
*	패턴이 0번 이상
+ 	패턴이 1번 이상
(, )	부분 표현식. 괄호 안의 식을 먼저 처리
? 	하위 표현식을 옵션으로 처리
{ }	반복과 반복 회수 제한
	{ 3 } -> 3번만
	{ 2, 4 } -> 2 ~ 4회만.
^	문자열 시작 부분이 조건식과 같다면이라는 뜻, 문자열 처음 시작부분만 해당된다.
	^bob -> bob로 시작되는 스트링
$	문자열의 끝에 조건식과 같다면..이라는 뜻, 문자열 끝 부분만 해당된다.
	com$ -> com으로 끝나는 스트링
|	선택(or)
	com|edu|net
특수문자	'\' 다음에 입력하면 기호로 인식

정규식 함수

// PHP 7.0 이상이면,
preg_match( string $pattern , string $subject [, array &$matches [, int $flags [, int $offset ]]] )
// PHP 7.0 이하에서 사용가능 
ereg( $patternA, $searchStr, /*array*/$matchResult );

$searchStr 에서 $patternA 를 찾아서 $matchResult에 저장

eregi() 대소문자 구분 없이
ereg_replace() 찾아서 변경
preg_split( a, b, c ) b 에서 a 패턴에 맞게 문자열 분리. split() 함수는 삭제 예정 함수.
language/php/php_문자열과_정규식.txt · 마지막으로 수정됨: 2024/04/23 22:44 저자 127.0.0.1