リッチテキストエディタ等で入力されたHTMLで装飾された文字列の中から、実際にユーザーが入力した文字数だけをカウントしたい。
golangを使用する場合以下の手順で実装する。
実際のコードは以下
func extractTextCountFromHTML(content string) (int, error) {
doc, err := html.Parse(strings.NewReader(v.String()))
if err != nil {
return 0, err
}
var text int
var extractText func(*html.Node)
extractText = func(n *html.Node) {
if n.Type == html.TextNode {
// escape html entity
text += html.UnescapeString(n.Data)
}
for c := n.FirstChild; c != nil; c = c.NextSibling {
extractText(c)
}
}
extractText(doc)
return len([]rune(text)), nil
}
富山在住のプログラマー。
フルリモートで働いています。
Categories
AWS
Cloudflare
Docker
Github
go
html
JavaScript
microCMS
MySQL
Monthly Archives
2024/12 (1)
2024/11 (3)
2024/10 (1)
2024/09 (3)
2024/08 (7)
2024/07 (7)
2024/06 (4)
2024/05 (5)
2024/04 (6)