UNPKG

phpjs

Version:

php.js offers community built php functions in javascript

31 lines (26 loc) 978 B
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; }