๐Ÿ“ฆ directus / v6-archive

๐Ÿ“„ string.js ยท 34 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34define([], function () {

  // links replacer
  function linksReplacer(match, p1, p2, p3, offset, string) {
    var url = p1;
    var text = p3 || url;

    return '<a href="' + url + '" target="_blank">' + text + '</a>';
  }

  return {
    ascii: function (string) {
      return (string || '').split('').map(function (char) {
        return char.charCodeAt(0).toString(16);
      }).join('');
    },
    nl2br: function (string) {
      // add new lines
      return (string || '').replace(/[\r\n]/g, '<br>');
    },

    url: function (string) {
      // links
      return (string || '').replace(/%\[(.*)\](\((.*)\))?/, linksReplacer);
    },

    parse: function (string) {
      string = this.nl2br(string);

      return this.url(string);
    }
  }
});