php 에는 문자열이 특정 문자열로 끝나는지 확인하는 ends_with 함수가 없다. 따라서 직접 만들어 써야 한다.
function string_ends_with($input, $value)
{
return $value === "" || (($temp = mb_strlen($input) - mb_strlen($value)) >= 0 && mb_strpos($input, $value, $temp) !== false);
}
var_dump(string_ends_with("안녕하세요.", "하세요."));
var_dump(string_ends_with("안녕하세요.", "하이"));
위 코드를 string_ends_with.php 파일에 저장하고 브라우저에서 결과를 확인한다.
bool(true) bool(false)
string_ends_with 함수의 첫번째 파라미터는 전체 문자열, 두번째 문자열은 끝나는 문자열이다.
아래 예제는 "안녕하세요" 가 "하세요"로 끝나는지 검사한다.
string_ends_with("안녕하세요.", "하세요.")
mb_strpos 함수는 input 문자열에서 value 문자열이 나오는 위치를 왼쪽에서부터 찾는 PHP 내장함수 strpos의 멀티바이트 함수다.
- mb_strpos 메뉴얼 : https://www.php.net/manual/en/function.mb-strpos
- strpos 메뉴얼 : https://www.php.net/manual/en/function.strpos.php