-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmap.go
45 lines (35 loc) · 1.4 KB
/
map.go
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
34
35
36
37
38
39
40
41
42
43
44
45
package htmlValidator
const (
TagParagraph string = "p" // Абзац
AttrLeft string = "left"
AttrRight string = "right"
AttrCenter string = "center"
TagDelimiter string = "hr" // Горизонтальная линия разделения
TagBold string = "b" // Жирный
TagItalic string = "i" // Курсив
TagUnderline string = "u" // Подчеркнутый текст
TagLineThrough string = "s" // Зачеркнутый текст
TagQuote string = "q" // Цитата
TagSubScript string = "sub" // Мелкий текст внизу
TagSuperScript string = "sup" // Мелкий текст вверху (степени)
)
/* Метод что проверяет допустимый ли это для разметки тег */
func IsValidTag(data []byte) (tag string, isValid bool, isParagraph bool) {
tag = string(data)
switch tag {
case TagParagraph:
return tag, true, true
case TagDelimiter, TagBold, TagItalic, TagUnderline, TagLineThrough, TagQuote, TagSubScript, TagSuperScript:
return tag, true, false
}
return tag, false, false
}
/* Метод, что проверяет допустимый ли атрибут параграфа */
func isValidParagraphAttribute(key []byte) (attr string, isValid bool) {
attr = string(key)
switch attr {
case AttrLeft, AttrRight, AttrCenter:
return attr, true
}
return attr, false
}