ff-url-finder v2.3.7
ff-url-finder
Экспортирует класс URLFinder
.
Конструктор: new URLFinder(tlDomains, localDomains)
, где tlDomains — массив доменов 1-го уровня, которые должны распознаваться без явного указания протокола,
localDomains — массив доменов, ссылки в которых считаются локальными.
Поле: withHashTags = false
— нужно ли определять в тексте хэш-теги (по умолчанию false). Синтаксис хэш-тегов см. в файле hashtag-syntax.md.
Поле: withArrows = false
— нужно ли определять в тексте стрелки-ссылки (^^^
или ↑↑↑
).
Метод: parse(text)
— разбивает строку текста на список блоков следующих типов:
{type: "text", text: "aa "} // простой текст
{type: "link", text: "google.com", url: "http://google.com/"} // внешняя ссылка
{type: "atLink", text: "@alice", username: "alice"} // @-ссылка с username
{type: "localLink", text: "freefeed.net/abc", uri: "/abc"} // локальная ссылка (в одном из доменов localDomains)
{type: "email", text: "aa@bb.ru", address: "aa@bb.ru"} // адрес e-mail
{type: "hashTag", text: "#3pm", hashTag: "3pm"} // хэш-тег
{type: "arrow", text: "^^^", count: 3} // стрелка-ссылка
Везде: type — тип блока, text — текст, который должен показываться пользователю (текст внутри тега A для ссылок). Остальные поля типо-специфичны.
Статический метод URLFinder.shorten(url, max_length)
— возвращает url, укороченный до длины не большей max_length (без учёта протокола).
Фичи
- Понимает ссылки без явно указанного протокола (для заданного набора TLD);
- В тексте для пользователя делает urldecode, а также преобразует IDN к человекопонятному виду;
- Правильно обрабатывает концевые скобки в URL;
- Распознаёт стрелки-ссылки, при этом знает, что такое
10^6
или(=^・^=)
.
7 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago