phpjs
Version:
31 lines (26 loc) • 978 B
JavaScript
function basename(path, suffix) {
// From: http://phpjs.org/functions
// + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + improved by: Ash Searle (http://hexmen.com/blog/)
// + improved by: Lincoln Ramsay
// + improved by: djmix
// + improved by: Dmitry Gorelenkov
// * example 1: basename('/www/site/home.htm', '.htm');
// * returns 1: 'home'
// * example 2: basename('ecra.php?p=1');
// * returns 2: 'ecra.php?p=1'
// * example 3: basename('/some/path/');
// * returns 3: 'path'
// * example 4: basename('/some/path_ext.ext/','.ext');
// * returns 4: 'path_ext'
var b = path;
var lastChar = b.charAt(b.length-1);
if(lastChar === "/" || lastChar === "\\") {
b = b.slice(0, -1);
}
b = b.replace(/^.*[\/\\]/g, '');
if (typeof suffix === 'string' && b.substr(b.length - suffix.length) == suffix) {
b = b.substr(0, b.length - suffix.length);
}
return b;
}