python正则表达式修复网站文章字体不统一的解决方法

yipeiwu_com6年前Python基础

  网站的大框架下有定义的字体,包括字体大小和颜色等,用户发布文章的时候可能是从其他网站复制过来的文本,复制的过程也保留了字体描述信息。当文章在页面上显示的时候,默认先会使用文章中定义的字体,如果文章中字体不存在的话才显示大框架下定义的全局字体。因此网站的内容就会显得很乱,有的文章字体很大,有的文章字体很小,不美观。能统一的话就好了!

  我对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

相关文章

Python线程指南分享

Python线程指南分享

本文介绍了Python对于线程的支持,包括“学会”多线程编程需要掌握的基础以及Python两个线程标准库的完整介绍及使用示例。 注意:本文基于Python2.4完成,;如果看到不明白的词...

通过python实现随机交换礼物程序详解

看到了一个面试题,想了两种解法,不知道符不符合要求,记录如下: 题目:有N个人,每人备一个圣诞礼物,现需要写一个程序,随机交互礼物,要求:自己不能换到自己的礼物,用python实现。 方...

对pandas中Series的map函数详解

Series的map方法可以接受一个函数或含有映射关系的字典型对象。 使用map是一种实现元素级转换以及其他数据清理工作的便捷方式。 (DataFrame中对应的是applymap()函...

python RC4加密操作示例【测试可用】

python RC4加密操作示例【测试可用】

本文实例讲述了python RC4加密操作。分享给大家供大家参考,具体如下: # -*- conding:utf-8 -*- from Crypto.Cipher import AR...

import的本质解析

上一篇文章中我们介绍了python中hashlib模块用法示例,详情参见:/post/127103.htm。今天我们看看import的有关内容。 编程时总是用到import导入,动不动就...