четверг, 2 июля 2020 г.

Пакет html в Golang

Пакет html предоставляет функции для экранирования и удаления HTML текста.

Функция EscapeString

func EscapeString(s string) string

EscapeString экранирует специальные символы такие как "<" превращая их в "&lt;". Он экранирует только пять таких символов: <, >, &, ', ". UnescapeString(EscapeString(s)) == s всегда выполняется, но обратное не всегда верно.

Пример использования EscapeString

package main

import (
    "fmt"
    "html"
)

func main() {
    const s = `"Fran & Freddie's Diner" `
    fmt.Println(html.EscapeString(s))
}

Вывод:

&#34;Fran &amp; Freddie&#39;s Diner&#34; &lt;tasty@example.com&gt;

Функция UnescapeString

func UnescapeString(s string) string

UnescapeString деэкранирует сущности как "&lt;" в "<". Она деэкранирует больший диапазон сущностей чем экранирует EscapeString. Например, "&aacute;" деэкранируется в "á", также как "&#225;" и "&#xE1;". UnescapeString(EscapeString(s)) == s всегда верно, но обратное не всегда верно.

Пример использования UnescapeString

package main

import (
    "fmt"
    "html"
)

func main() {
    const s = `&quot;Fran &amp; Freddie&#39;s Diner&quot; &lt;tasty@example.com&gt;`
    fmt.Println(html.UnescapeString(s))
}

Вывод:

"Fran & Freddie's Diner" <tasty@example.com>


Читайте также:


Комментариев нет:

Отправить комментарий