substr_cunt()와 mb_substr_cunt()는 문자열에 포함되어 있는 개수를 확인하는 기능은 같습니다.
하지만 멀티바이트 문자 검색에는 반드시 mb_substr_cunt()를 사용해야합니다.
substr_count()
substr_count ( string $haystack , string $needle [, int $offset = 0 [, int $length ]] ) : int
인자 | 설명 |
$haystack | 검색 문자열 |
$needle | 검색 문장 |
$offset | 시작 위치 |
$length | 시작 위치에서부터 길이 |
<?php
echo substr_count("zero one two one", "one"); //2
?>
$offset을 8로 지정한다면 "zero one two one"을 "two one"에서 "one"을 찾습니다.
<?php
echo substr_count("zero one two one", "one", 8); //1
?>
$offset을 5로 $length를 6을 지정한다면 "zero one two one"을 "one two"에서 "one을 찾습니다.
<?php
echo substr_count("zero one two one", "one", 5, 6); //1
?>
mb_substr_count()
mb_substr_count ( string $haystack , string $needle [, string $encoding = mb_internal_encoding() ] ) : int
인자 | 설명 |
$haystack | 검색 문자열 |
$needle | 검색 문장 |
$encoding | 인코딩 방식 |
<?php
echo mb_substr_count("zero one two one", "one"); //2
echo mb_substr_count("영 일 이 일", "일"); //3
echo mb_substr_count("영 일 이 일", "일", "UTF-8"); //2
?>
영문자는 상관이 없지만 한글은 인코딩 방식을 설정해주지 않으면 올바른 값을 반환하지 않습니다.
반응형
'PHP > PHP7 예비학교' 카테고리의 다른 글
GET과 POST 차이 (0) | 2020.09.27 |
---|---|
[PHP] 발견된 위치부터 문자열 출력 - stristr(), mb_stristr() (0) | 2020.09.13 |
[PHP] 문자열 검색 - strpos(), mb_strpos() (0) | 2020.09.13 |
[PHP] 문자열 비교하기 - ===, strcmp(), strcasecmp(), strncmp() (0) | 2020.09.13 |
[PHP] HTML 태그 제거 - strip_tags() (0) | 2020.09.13 |