github.com/gogf/gf@v1.16.9/.example/util/gpage/gpage_custom1.go (about) 1 package main 2 3 import ( 4 "github.com/gogf/gf/frame/g" 5 "github.com/gogf/gf/net/ghttp" 6 "github.com/gogf/gf/os/gview" 7 "github.com/gogf/gf/text/gstr" 8 "github.com/gogf/gf/util/gpage" 9 ) 10 11 // wrapContent wraps each of the page tag with html li and ul. 12 func wrapContent(page *gpage.Page) string { 13 content := page.GetContent(4) 14 content = gstr.ReplaceByMap(content, map[string]string{ 15 "<span": "<li><span", 16 "/span>": "/span></li>", 17 "<a": "<li><a", 18 "/a>": "/a></li>", 19 }) 20 return "<ul>" + content + "</ul>" 21 } 22 23 func main() { 24 s := g.Server() 25 s.BindHandler("/page/custom1/*page", func(r *ghttp.Request) { 26 page := r.GetPage(100, 10) 27 content := wrapContent(page) 28 buffer, _ := gview.ParseContent(` 29 <html> 30 <head> 31 <style> 32 a,span {padding:8px; font-size:16px;} 33 div{margin:5px 5px 20px 5px} 34 </style> 35 </head> 36 <body> 37 <div>{{.page}}</div> 38 </body> 39 </html> 40 `, g.Map{ 41 "page": content, 42 }) 43 r.Response.Write(buffer) 44 }) 45 s.SetPort(10000) 46 s.Run() 47 }