關於webpy模板自動HTML轉義的問題

2022-08-30 06:54:09 字數 1131 閱讀 4865

注意:web.py將會轉義任何任何用到的變數,所以當你將name的值設為是一段 html 時,它會被轉義顯示成純文字。如果要關閉該選項,可以寫成$:name來代替$name

如果我們想部分轉移,怎麼辦?

webpy顯然提供了轉移函式,我們在應用層直接呼叫就可以了。

from web.net import htmlquote

htmlquote(raw_text)

#/usr/bin/python

#coding=utf-8

importhtmlparser

importsys

reload(sys)

sys.setdefaultencoding('utf-8')

html_parser =htmlparser.htmlparser()

title ='eclipse功能學習。e.g : 快速在**中插入時間戳 - segmentfault'

newtitle =html_parser.unescape(title)

printnewtitle 

需要載入sys模組,重新設定預設編碼為utf8,就不會出錯了。不過要處理的內容只不過是乙個文章的title部分,而常用的html轉義內容也就如下幾個

於是決定使用python的replace功能實現乙個簡單的轉義功能函式,具體如下:

#/usr/bin/python

#coding=utf-8

defreplace_html(s):

s =s.replace('"','"')

s =s.replace('&','&')

s =s.replace('

s =s.replace('>','>')

s =s.replace(' ',' ')

s =s.replace(' - 361way.com','')

prints

replace_html(title)

優點就是快速簡潔,不依賴於模組,實用時也無需再reload sys模組指定預設編碼。

html自動換行

在網上搜尋到2中解決方案 1.其實只要在 控制中新增一句 就搞定了。其中可能對英文換行可能會分開乙個單詞問題 解決如下 語法 word break normal break all keep all 引數 normal 依照亞洲語言和非亞洲語言的文字規則,允許在字內換行 break all 該行為與...

html自動換行

在網上搜尋到2中解決方案 1.其實只要在 控制中新增一句 就搞定了。其中可能對英文換行可能會分開乙個單詞問題 解決如下 語法 word break normal break all keep all 引數 normal 依照亞洲語言和非亞洲語言的文字規則,允許在字內換行 break all 該行為與...

關於模板 模板函式

編寫與型別無關的 是 復用的一種手段,模板是泛型程式設計的基礎。1.模板函式 代表了乙個函式家族,該函式無關型別,在使用時才根據實參型別得到特定的函式。ifndef test h define test h include include using namespace std endif defi...