PHP 模拟 JAVA endsWith

PHP 8 以上有判断字符串末尾函数,但是低版本要自己实现了

/**
 * 字符串长度
 * @param $str
 * @return false|int|string
 */
function stringLength($str) {
    return mb_strlen($str,'utf-8');
}

/**
 * 末尾含有
 * @param string $string
 * @param string $pattern
 * @return bool
 */
function endsWith($string, $pattern) {
    if (stringLength($string) < stringLength($pattern)) {
        return false;
    } else {
        str_replace($pattern, '.', '\.');
        str_replace($pattern, '[', '\[');
        str_replace($pattern, ']', '\]');
        str_replace($pattern, '*', '\*');
        str_replace($pattern, '+', '\+');
        str_replace($pattern, '(', '\(');
        str_replace($pattern, ')', '\)');
        str_replace($pattern, '$', '\$');
        str_replace($pattern, '^', '\^');
        return preg_match("/.*" . $pattern . "/", $string);
    }
}
chevron_left
chevron_right