stristr()와 mb_stristr()는 발견된 위치부터 문자열을 출력하는 기능은 동일합니다.
그러나 멀티바이트는 반드시 mb_stristr()를 사용해야합니다.
stristr()
stristr ( string $haystack , mixed $needle [, bool $before_needle=FALSE ]) : string
인자 | 설명 |
$haystack | 검색 문자열 |
$needle | 검색 문장 |
$offset | 시작 위치 |
$before_needle | TRUE 시 반대로 출력 |
<?php
$text ="abcdefg";
echo stristr($text, "c"); //cdefg
echo stristr($text, "c", TRUE); //ab
?>
세 번째 인수의 디폴트는 FALSE이며 TRUE로 설정되면 반대로 출력합니다.
mb_stristr()
mb_stristr ( string $haystack , string $needle [, bool $before_needle = FALSE [, string $encoding = mb_internal_encoding() ]] ) : string
인자 | 설명 |
$haystack | 검색 문자열 |
$needle | 검색 문장 |
$before_needle | TRUE 시 반대로 출력 |
$encoding | 인코딩 방식 |
<?php
$text ="ㄱㄴㄷㄹㅁㅂ";
echo mb_stristr($text, "ㄷ"); //ㄱㄴㄷㄹㅁㅂ
echo mb_stristr($text, "ㄷ", FALSE, "UTF-8"); //ㄷㄹㅁㅂ
echo mb_stristr($text, "ㄷ", TRUE, "UTF-8"); //ㄱㄴ
?>
영문자는 상관이 없지만 한글은 인코딩 방식을 설정해주지 않으면 제대로 출력되지 않습니다.
반응형
'PHP > PHP7 예비학교' 카테고리의 다른 글
크로스 사이트 스크립팅 - XSS 대책 (0) | 2020.09.27 |
---|---|
GET과 POST 차이 (0) | 2020.09.27 |
[PHP] 문자열이 포함되어 있는 개수 확인 - substr_count(), mb_substr_count() (0) | 2020.09.13 |
[PHP] 문자열 검색 - strpos(), mb_strpos() (0) | 2020.09.13 |
[PHP] 문자열 비교하기 - ===, strcmp(), strcasecmp(), strncmp() (0) | 2020.09.13 |