commit
						b54fc10206
					
				
							
								
								
									
										29
									
								
								template.go
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								template.go
									
									
									
									
									
								
							| @ -10,6 +10,7 @@ import ( | |||||||
| 	"os" | 	"os" | ||||||
| 	"path" | 	"path" | ||||||
| 	"path/filepath" | 	"path/filepath" | ||||||
|  | 	"regexp" | ||||||
| 	"strings" | 	"strings" | ||||||
| 	"time" | 	"time" | ||||||
| ) | ) | ||||||
| @ -30,6 +31,7 @@ func init() { | |||||||
| 	beegoTplFuncMap["date"] = Date | 	beegoTplFuncMap["date"] = Date | ||||||
| 	beegoTplFuncMap["compare"] = Compare | 	beegoTplFuncMap["compare"] = Compare | ||||||
| 	beegoTplFuncMap["substr"] = Substr | 	beegoTplFuncMap["substr"] = Substr | ||||||
|  | 	beegoTplFuncMap["html2str"] = Html2str | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // MarkDown parses a string in MarkDown format and returns HTML. Used by the template parser as "markdown" | // MarkDown parses a string in MarkDown format and returns HTML. Used by the template parser as "markdown" | ||||||
| @ -54,6 +56,33 @@ func Substr(s string, start, length int) string { | |||||||
| 	return string(bt[start:end]) | 	return string(bt[start:end]) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | // Html2str() returns escaping text convert from html | ||||||
|  | func Html2str(html string) string { | ||||||
|  | 	src := string(html) | ||||||
|  | 
 | ||||||
|  | 	//将HTML标签全转换成小写 | ||||||
|  | 	re, _ := regexp.Compile("\\<[\\S\\s]+?\\>") | ||||||
|  | 	src = re.ReplaceAllStringFunc(src, strings.ToLower) | ||||||
|  | 
 | ||||||
|  | 	//去除STYLE | ||||||
|  | 	re, _ = regexp.Compile("\\<style[\\S\\s]+?\\</style\\>") | ||||||
|  | 	src = re.ReplaceAllString(src, "") | ||||||
|  | 
 | ||||||
|  | 	//去除SCRIPT | ||||||
|  | 	re, _ = regexp.Compile("\\<script[\\S\\s]+?\\</script\\>") | ||||||
|  | 	src = re.ReplaceAllString(src, "") | ||||||
|  | 
 | ||||||
|  | 	//去除所有尖括号内的HTML代码,并换成换行符 | ||||||
|  | 	re, _ = regexp.Compile("\\<[\\S\\s]+?\\>") | ||||||
|  | 	src = re.ReplaceAllString(src, "\n") | ||||||
|  | 
 | ||||||
|  | 	//去除连续的换行符 | ||||||
|  | 	re, _ = regexp.Compile("\\s{2,}") | ||||||
|  | 	src = re.ReplaceAllString(src, "\n") | ||||||
|  | 
 | ||||||
|  | 	return strings.TrimSpace(src) | ||||||
|  | } | ||||||
|  | 
 | ||||||
| // DateFormat takes a time and a layout string and returns a string with the formatted date. Used by the template parser as "dateformat" | // DateFormat takes a time and a layout string and returns a string with the formatted date. Used by the template parser as "dateformat" | ||||||
| func DateFormat(t time.Time, layout string) (datestring string) { | func DateFormat(t time.Time, layout string) (datestring string) { | ||||||
| 	datestring = t.Format(layout) | 	datestring = t.Format(layout) | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user