英文:
minify html in golang to delete extra spaces and next line characters
问题
如何创建 HTML 压缩器?
package main
import (
"fmt"
)
func HtmlMinify(html string) string {
// todo: 压缩 html
return html
}
func main() {
htmlExample := `<li>
<a>Hello</a>
</li>`
minifiedHtml := HtmlMinify(htmlExample)
fmt.Println(minifiedHtml) // 期望输出 `<li><a>Hello</a></li>`
}
输出结果:
<li>
<a>Hello</a>
</li>
但我希望它是这样的:
<li><a>Hello</a></li>
英文:
How to create html minifier?
package main
import (
"fmt"
)
func HtmlMinify(html string) string {
// todo: minify html
return html
}
func main() {
htmlExample := `<li>
<a>Hello</a>
</li>`
minifiedHtml := HtmlMinify(htmlExample)
fmt.Println(minifiedHtml) // `<li><a>Hello</a></li>` is wanted
}
outputs:
<li>
<a>Hello</a>
</li>
But I want it to be
<li><a>Hello</a></li>
答案1
得分: 12
你的示例可能只涉及删除空格,但是压缩HTML比这复杂一些(例如,你不希望删除字符串内部实际上有意义的空格)。
你可以在以下链接中看到示例:
-
tdewolff/minify(更完整)(文档)
英文:
Your example could involve simply removing spaces, but minifying html is a bit more complex than that (for instance, you don't want to remove spaces where they actually matters, like within a string).
You can see an example in:
-
tdewolff/minify (more complete) (doc)
答案2
得分: 9
我使用了tdewolff/minify库进行了以下代码的压缩:
package main
import (
"bytes"
"fmt"
"github.com/tdewolff/minify"
)
func HtmlMinify(html string) string {
m := minify.NewMinifierDefault()
b := &bytes.Buffer{}
if err := m.HTML(b, bytes.NewBufferString(html)); err != nil {
panic(err)
}
return b.String()
}
func main() {
htmlExample := `<li>
<a>Hello</a>
</li>`
minifiedHtml := HtmlMinify(htmlExample)
fmt.Println(minifiedHtml) // <li><a>Hello</a>
}
以上代码是一个使用tdewolff/minify
库进行HTML压缩的示例。
英文:
I used tdewolff/minify:
package main
import (
"bytes"
"fmt"
"github.com/tdewolff/minify"
)
func HtmlMinify(html string) string {
m := minify.NewMinifierDefault()
b := &bytes.Buffer{}
if err := m.HTML(b, bytes.NewBufferString(html)); err != nil {
panic(err)
}
return b.String()
}
func main() {
htmlExample := `<li>
<a>Hello</a>
</li>`
minifiedHtml := HtmlMinify(htmlExample)
fmt.Println(minifiedHtml) // <li><a>Hello</a>
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论