Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Ryan778
GitHub Repository: Ryan778/Ryan778.github.io
Path: blob/master/emojionearea/src/function/textFromHtml.js
575 views
1
define([
2
'var/emojione',
3
'var/invisibleChar',
4
'function/unicodeTo',
5
],
6
function(emojione, invisibleChar, unicodeTo) {
7
return function(str, self) {
8
str = str
9
.replace(/<img[^>]*alt="([^"]+)"[^>]*>/ig, '$1')
10
.replace(/\n|\r/g, '')
11
.replace(/<br[^>]*>/ig, '\n')
12
.replace(/(?:<(?:div|p|ol|ul|li|pre|code|object)[^>]*>)+/ig, '<div>')
13
.replace(/(?:<\/(?:div|p|ol|ul|li|pre|code|object)>)+/ig, '</div>')
14
.replace(/\n<div><\/div>/ig, '\n')
15
.replace(/<div><\/div>\n/ig, '\n')
16
.replace(/(?:<div>)+<\/div>/ig, '\n')
17
.replace(/([^\n])<\/div><div>/ig, '$1\n')
18
.replace(/(?:<\/div>)+/ig, '</div>')
19
.replace(/([^\n])<\/div>([^\n])/ig, '$1\n$2')
20
.replace(/<\/div>/ig, '')
21
.replace(/([^\n])<div>/ig, '$1\n')
22
.replace(/\n<div>/ig, '\n')
23
.replace(/<div>\n/ig, '\n\n')
24
.replace(/<(?:[^>]+)?>/g, '')
25
.replace(new RegExp(invisibleChar, 'g'), '')
26
.replace(/&nbsp;/g, ' ')
27
.replace(/&lt;/g, '<')
28
.replace(/&gt;/g, '>')
29
.replace(/&quot;/g, '"')
30
.replace(/&#x27;/g, "'")
31
.replace(/&#x60;/g, '`')
32
.replace(/&amp;/g, '&');
33
34
switch (self.saveEmojisAs) {
35
case 'image':
36
str = unicodeTo(str, self.emojiTemplate);
37
break;
38
case 'shortname':
39
str = emojione.toShort(str);
40
}
41
return str;
42
}
43
});
44