stristr() 함수는 하나의 문자열 안에서 다른 문자열이 처음 등장하는 위치를 찾을 때 사용하는 PHP 내장 함수입니다.
참고: stristr() 함수는 대소문자를 구분하지 않습니다. 대소문자를 구분해야 하는 경우에는 strstr() 함수를 사용하는 것이 좋습니다.
문법
stristr(str, search, before_search)
매개변수 설명
str − 검색 대상이 되는 원본 문자열입니다.
search − 원본 문자열 안에서 찾고자 하는 문자열입니다.
before_search − 기본값은 "false"인 불리언(Boolean) 값입니다. "true"로 설정하면 search 매개변수가 처음 나타나기 이전까지의 문자열 부분을 반환합니다.
반환값
stristr() 함수는 일치한 부분부터 문자열 끝까지의 하위 문자열(substring)을 반환합니다. 검색어를 찾지 못하면 false를 반환합니다.
사용 예제 1
다음은 stristr() 함수로 문자열 존재 여부를 확인하는 예제입니다.
<?php
$mystr = 'Tom Hanks!';
if(stristr($mystr, 'Tim') === FALSE) {
echo 'Tim is not in the string!';
}
?>
출력 결과
Tim is not in the string!
위 예제에서는 'Tim'이라는 문자열이 원본 문자열에 존재하지 않으므로, 비교 조건(=== FALSE)이 참이 되어 해당 메시지가 출력됩니다.
사용 예제 2
세 번째 매개변수(before_search)를 true로 설정하면, 검색어가 처음 등장하기 전까지의 문자열만 반환받을 수 있습니다.
<?php
echo stristr("Demo text!","TEXT",true);
?>
출력 결과
Demo
'TEXT'라는 검색어는 대소문자와 관계없이 'text'와 일치하며, 세 번째 인자가 true이므로 해당 위치 앞부분인 "Demo"가 반환된 것을 확인할 수 있습니다.
정리
stristr() 함수는 대소문자를 구분하지 않는다는 점만 제외하면 strstr()과 동일하게 동작합니다. 문자열 포함 여부 검사, 특정 키워드 기준으로 문자열을 자르는 작업 등에 유용하게 활용할 수 있습니다.