You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
Luke Childs 9ee264794a Add usage to the readme 9 years ago
src Add support for .local and .dev TLDs 9 years ago
test Add grab tests 9 years ago
.eslintignore Setup project 9 years ago
.eslintrc.json Setup project 9 years ago
.gitignore Setup project 9 years ago
.npmignore Setup project 9 years ago
.travis.yml Setup project 9 years ago
README.md Add usage to the readme 9 years ago
package.json Update description 9 years ago

README.md

my-name-is-url Build Status

Intelligently finds many different url formats in a string. Works in browser and node.

About

In a nutshell, my-name-is-url is an Intelligent parser that searches a string of text for urls. The url spec is so vague that almost anything could be a url. The regular expression used in my-name-is-url tries to match patterns likely to represent a url in a sentence rather than matching the actual url spec.

Important note

If you're trying to parse a url into sections (scheme,host) or check a url is valid this module isn't for you. This module is intended to search text for urls.

Install

$ npm install --save my-name-is-url

or

$ jspm install npm:my-name-is-url

Usage

Import the module

CommonJS

var Urls = require('my-name-is-url');

ES6

import Urls from 'my-name-is-url';

Regex

If you just wanna do your own thing the regex used internally is helpfully exposed

const UrlRegex = Urls.regex;

Get Urls

The get() method returns an array of urls in a piece of text

const text = 'Check out these sites: site1.com,site2.com,site3.com';

Urls(text).get(); // Returns:
['site1.com', 'site2.com', 'site3.com']

Filter Urls

The filter() method runs a filter on each url in a piece of text

const text = 'My GitHub profile: https://github.com/lukechilds';

Urls(text).filter(url => `<a href="${url}">${url}</a>`); // Returns:
'My GitHub profile: <a href="https://github.com/lukechilds">https://github.com/lukechilds</a>'