英文:
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>
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。


评论