sluga
Version:
Slugify a string
2 lines (1 loc) • 633 B
JavaScript
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){var e=require("escape-string-regexp"),r=require("./transliterate");module.exports=function(a){if("string"!=typeof a)throw new TypeError("Expected a string, got `"+typeof a+"`");var n,t;return n=r(a,{customReplacements:[["&"," and "]]}).replace(/([A-Z]{2,})([a-z\d]+)/g,"$1 $2").replace(/([a-z\d]+)([A-Z]{2,})/g,"$1 $2").replace(/([a-z\d])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z\d]+)/g,"$1 $2").toLowerCase().replace(/[^a-z\d]+/g,"-").replace(/\\/g,""),t=e("-"),n.replace(new RegExp(t+"{2,}","g"),"-").replace(new RegExp("^"+t+"|"+t+"$","g"),"")}});