首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > CSS >

用golang的正则regexp:除了HTML,CSS,SCRIPT代码,仅保留页面文字

2012-12-21 
用golang的正则regexp:去除HTML,CSS,SCRIPT代码,仅保留页面文字这段时间比较忙了,没啥空折腾golang。。。再加

用golang的正则regexp:去除HTML,CSS,SCRIPT代码,仅保留页面文字
这段时间比较忙了,没啥空折腾golang。。。再加上前段业余时间基本都在改用python写的小东西,陆陆续续在调整和fix bug。。。

昨晚抽空又练习了一下golang的正则,其正则表达式的语法与perl和python是一样的。。。所以如果已经熟悉正则语法了,还是很容易上手的,

昨晚练习后,最后写了个小功能,去除网页的HTML等相关代码,费话不多说了,直接上码:

package mainimport ("fmt""io/ioutil""net/http""regexp""strings")func main() {resp, err := http.Get("http://www.baidu.com")// resp, err := http.Get("http://www.163.com")if err != nil {fmt.Println("http get error.")}defer resp.Body.Close()body, err := ioutil.ReadAll(resp.Body)if err != nil {fmt.Println("http read error")}src := string(body)//将HTML标签全转换成小写re, _ := regexp.Compile("\\<[\\S\\s]+?\\>")src = re.ReplaceAllStringFunc(src, strings.ToLower)//去除STYLEre, _ = regexp.Compile("\\<style[\\S\\s]+?\\</style\\>")src = re.ReplaceAllString(src, "")//去除SCRIPTre, _ = 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")fmt.Println(strings.TrimSpace(src))}

热点排行