본문 바로가기

PHP/PHP7 예비학교

[PHP] 발견된 위치부터 문자열 출력 - stristr(), mb_stristr()

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");	//ㄱㄴ
?>

영문자는 상관이 없지만 한글은 인코딩 방식을 설정해주지 않으면 제대로 출력되지 않습니다.

반응형