網站的大框架下有定義的字體,包括字體大小和顏色等,用戶發布文章的時候可能是從其他網站復制過來的文本,復制的過程也保留了字體描述信息。當文章在頁面上顯示的時候,默認先會使用文章中定義的字體,如果文章中字體不存在的話才顯示大框架下定義的全局字體。因此網站的內容就會顯得很亂,有的文章字體很大,有的文章字體很小,不美觀。能統一的話就好了!
我對html和css等不是很熟,不知道是否能設置一下讓文章中定義的字體內容失效。
笨人有笨辦法,統一修改文章,將用戶的對字體的定義全部刪除!哈哈!如果手工完成的話,這可是一個相當繁重的任務,要首先預覽頁面,如果不統一的話就修改字體,幸好編輯器里面有個“清除格式”選項,全選文本,點一下就OK了,然后再保存……也很麻煩
如果僅僅是修改字體的話,最省事的方法當然是直接修改數據庫,從數據庫將文章提取出來,刪除和字體相關的標簽,然后再寫回數據庫。
專門查了一下html參考手冊,對字體的定義有兩種方法:
1.是用<font>標簽,例如:
代碼如下:
<p>
<font size="2" face="Verdana">
This is a paragraph.
</font>
</p>
<p>
<font size="3" face="Times">
This is another paragraph.
</font>
</p>
這種方法是不推薦使用的
2.使用style定義,例如:
代碼如下:
<p style="font-family:verdana;font-size:80%;color:green">
This is a paragraph with some text in it. This is a paragraph with some text in it. This is a paragraph with some text in it. This is a paragraph with some text in it.
</p>
只要將字體的定義部分刪除就可以了,用python的正則表達式模塊進行替換無壓力:
代碼如下:
def format(data):
'''將font標簽和style標簽全部刪除'''
p = re.compile(r'<font .*?>|</font>|style=/".*?/"')
ret = p.sub('',data)
if ret != data:
return retelse:
return None
python處理數據庫相關操作時要注意更新數據方法,可以參考這篇文章:http://www.cnblogs.com/ma6174/archive/2013/02/21/2920126.html
新聞熱點
疑難解答