[PHP] strpos(),strrpos()와 strstr(),strrchr() 함수이용 | Server Side

strpos 문자열이 처음 나타나는 위치를 찾습니다

[설명]

int strpos ( string $haystack , mixed $needle [, int $offset ] )

haystack 문자열에서 needle 이 처음 나타나는 수 위치를 반환합니다. PHP 5 이전의 strrpos()와는 달리, 이 함수는 needle 인수로 문자열을 받아서, 전체 문자열을 사용합니다.

[인수]

haystack

탐색할 문자열

needle

needle 이 문자열이 아니면, 정수로 변환하여 해당하는 값의 문자를 취합니다.

offset

선택적인 offset 인수는 haystack 에서 몇 번째 문자부터 탐색을 시작할 지 결정합니다. 반환하는 위치는 haystack 시작부터 셉니다.

[반환값]

위치를 정수로 반환합니다. needle 을 발견하지 못하면, strpos()boolean FALSE를 반환합니다.

Warning

이 함수는 논리 FALSE를 반환하지만, 0이나 "" 등, 논리 FALSE로 취급할 수 있는 다른 값을 반환할 수 있습니다. 자세한 정보는 논리형 섹션을 참고하십시오. 이 함수의 반환값을 확인하려면 === 연산자를 이용하십시오.

예제

Example #1 === 사용하기

$mystring 'abc';
$findme   'a'
;
$pos strpos($mystring$findme
);

// ===를 사용하는 점에 주의하십시오. ==는 'a'가 0번째
// (처음) 문자이기에 기대하는 대로 작동하지 않습니다.
if ($pos === false
) {
    echo 
"'$findme' 문자열을 '$mystring' 문자열에서 찾지 못했습니다."
;
} else {
    echo 
"'$findme' 문자열을 '$mystring' 문자열에서 찾았습니다."
;
    echo 
"위치 $pos에 존재합니다."
;
}
?>
 
 
 

strrpos  문자열에서 마지막 문자의 위치를 찾습니다

[설명]

int strrpos ( string $haystack , string $needle [, int $offset ] )

haystack 문자열에서 마지막으로 나오는 needle 의 위치를 수로 반환합니다.

PHP 4에서 needle은 하나의 문자만 사용할 수 있습니다.

문자열을 needle로 전달하면, 문자열의 첫번째 문자만을 사용합니다.

needle 이 발견되지 않으면, FALSE를 반환합니다.

"문자를 위치 0에서 찾았습니다"와 "문자를 존재하지 않습니다"의 반환값을 혼동하기 쉽습니다.

두개의 차이를 확인하는 방법입니다:


// PHP 4.0.0 이상:
$pos strrpos($mystring"b");
if (
$pos === false) { // 주의: 등호 3개
    // 발견되지 않았습니다...
}

// 4.0.0 미만:
$pos strrpos($mystring"b");
if (
is_bool($pos) && !$pos) {
    
// 발견되지 않았습니다...
}
?>

needle 가 문자열이 아니면, 정수형으로 변환하여 해당하는 코드의 문자를 적용합니다.

Note: PHP 5.0.0부터 offset 으로 문자열에서 찾기 시작할 위치를 지정할 수 있습니다. 음수는 문자열 마지막으로부터 해당 위치에서 찾기를 멈춥니다.

Note: PHP 5.0.0부터 needle 은 하나의 문자 이상을 다룹니다.

 

 

strstr 문자열이 처음으로 나오는 부분을 찾습니다

[설명]

string strstr ( string $haystack , mixed $needle [, bool $before_needle ] )

needle 에서 haystack 이 처음 발견된 곳부터 끝까지의 부분 문자열을 반환합니다.

Note: 이 함수는 대소문자를 구분합니다. 구분하지 않으려면, stristr()을 사용하십시오.

Note: haystack 안에 needle 이 있는지만 확인하려면, 빠르고 메모리도 적게 사용하는 strpos()를 사용하십시오.

[인수]

haystack

입력 문자열.

needle

needle 이 문자열이 아니면, 정수로 변환하여 해당하는 값의 문자를 적용합니다.

before_needle

TRUE이면 (기본값은 FALSE) haystack 에서 첫 needle 의 앞에 있는 부분을 반환합니다.

[반환값]

문자열의 부분을 반환하거나, needle 을 발견하지 못하면 FALSE를 반환합니다.

[예제]

Example #1 strstr() 예제

$email  'name@example.com';
$domain strstr($email'@');
echo 
$domain// @example.com 출력.

$user strstr($email'@' true); // PHP 5.3.0부터
echo $user// name 출력
?>

 

 

 

strrchr 문자열에서 문자가 마지막으로 나오는 부분을 찾습니다

 

[설명]

string strrchr ( string $haystack , mixed $needle )

이 함수는 needle 가 마지막으로 나오는 위치부터 haystack 의 마지막까지의 haystack 문자열 부분을 반환합니다.

[인수]

haystack

탐색할 문자열

needle

needle 이 하나 이상의 문자를 가지고 있으면, 첫번째 문자만 사용합니다. 이 동작은 strstr()과 다릅니다.

needle 이 문자열이 아니면, 정수로 변환하여 해당하는 값의 문자를 취합니다.

[반환값]

문자열의 부분을 반환하거나, needle 이 발견되지 않으면 FALSE를 반환합니다.

 

[예제]

Example #1 strrchr() 예제

// $PATH에서 마지막 디렉토리를 얻는다.
$dir substr(strrchr($PATH":"), 1);

// 마지막 줄바꿈 다음의 문자열을 얻는다.
$text "줄 1\n줄 2\n줄 3";
$last substr(strrchr($text10), 1);
?>
 

 

strpos,strrpos,strstr,strrchr
Comment Write
Comment List
등록된 코멘트가 없습니다.