@vanpariyar/text-manipulation

0.0.1 • Public • Published

@vanpariyar/text-manipulation

this is the very simple.

install

npm install @vanpariyar/text-manipulation

use

const stringTOSlug = require('@vanpariyar/text-manipulation');

console.log( stringTOSlug( "THis is the Demo Title" ) );

Output > this-is-the-demo-title

Code Behind:

const stringTOSlug = function (str)
{
    str = str.replace(/^\s+|\s+$/g, ''); // trim
    str = str.toLowerCase();

    // remove accents, swap ñ for n, etc
    const from = "àáäâèéëêìíïîòóöôùúüûñçěščřžýúůďťň·/_,:;";
    const to   = "aaaaeeeeiiiioooouuuuncescrzyuudtn------";

    for (let i=0, l=from.length ; i<l ; i++)
    {
        str = str.replace(new RegExp(from.charAt(i), 'g'), to.charAt(i));
    }

    str = str.replace('.', '-') // replace a dot by a dash 
        .replace(/[^a-z0-9 -]/g, '') // remove invalid chars
        .replace(/\s+/g, '-') // collapse whitespace and replace by a dash
        .replace(/-+/g, '-') // collapse dashes
        .replace( /\//g, '' ); // collapse all forward-slashes

    return str;
}

module.exports = stringTOSlug;

Readme

Keywords

Package Sidebar

Install

npm i @vanpariyar/text-manipulation

Weekly Downloads

0

Version

0.0.1

License

MIT

Unpacked Size

2.57 kB

Total Files

3

Last publish

Collaborators

  • vanpariyar