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


Posted in Python onFebruary 21, 2013

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

我对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中使用正则表达式的方法
Aug 13 Python
python 全局变量的import机制介绍
Sep 07 Python
python模块之sys模块和序列化模块(实例讲解)
Sep 13 Python
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
Feb 18 Python
对Python中9种生成新对象的方法总结
May 23 Python
python实现寻找最长回文子序列的方法
Jun 02 Python
python多个模块py文件的数据共享实例
Jan 11 Python
解决nohup执行python程序log文件写入不及时的问题
Jan 14 Python
使用Python实现将list中的每一项的首字母大写
Jun 11 Python
python 通过视频url获取视频的宽高方式
Dec 10 Python
Python yield生成器和return对比代码实例
Apr 20 Python
基于python3.7利用Motor来异步读写Mongodb提高效率(推荐)
Apr 29 Python
Python操作Mysql实例代码教程在线版(查询手册)
Feb 18 #Python
python的常见命令注入威胁
Feb 18 #Python
centos下更新Python版本的步骤
Feb 12 #Python
Python3.x和Python2.x的区别介绍
Feb 12 #Python
windows下安装python paramiko模块的代码
Feb 10 #Python
linux下安装easy_install的方法
Feb 10 #Python
Flask SQLAlchemy一对一,一对多的使用方法实践
Feb 10 #Python
You might like
php5 图片验证码实现代码
2009/12/11 PHP
PHP运行环境配置与开发环境的配置(图文教程)
2013/06/04 PHP
PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
2014/10/22 PHP
Json_encode防止汉字转义成unicode的方法
2016/02/25 PHP
PHP SFTP实现上传下载功能
2017/07/26 PHP
javascript 计算两个整数的百分比值
2009/12/26 Javascript
jquery checkbox全选、取消全选实现代码
2010/03/05 Javascript
js Function类型
2011/12/04 Javascript
js实现用户注册协议倒计时的方法
2015/01/21 Javascript
JavaScript类型系统之布尔Boolean类型详解
2016/06/26 Javascript
用js写的一个路由(简单实例)
2016/09/24 Javascript
Node.js获取前端ajax提交的request信息
2017/02/20 Javascript
JavaScript实现购物车基本功能
2017/07/21 Javascript
vue用递归组件写树形控件的实例代码
2018/07/19 Javascript
17道题让你彻底理解JS中的类型转换
2019/08/08 Javascript
vue给对象动态添加属性和值的实例
2019/09/09 Javascript
微信小程序vant弹窗组件的实现方式
2020/02/21 Javascript
vue 二维码长按保存和复制内容操作
2020/09/22 Javascript
JavaScript TAB栏切换效果的示例
2020/11/05 Javascript
Windows下Anaconda2安装NLTK教程
2018/09/19 Python
理想高通滤波实现Python opencv示例
2019/01/30 Python
python中time库的实例使用方法
2019/10/31 Python
pytorch:torch.mm()和torch.matmul()的使用
2019/12/27 Python
在PyCharm中遇到pip安装 失败问题及解决方案(pip失效时的解决方案)
2020/03/10 Python
python实现控制台输出彩色字体
2020/04/05 Python
谈谈python垃圾回收机制
2020/09/27 Python
python 通过exifread读取照片信息
2020/12/24 Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
2021/02/02 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
2021/03/03 Python
LocalStorage记住用户和密码功能
2017/07/24 HTML / CSS
遮罩层 + Iframe实现界面自动显示的示例代码
2020/04/26 HTML / CSS
委托代理人授权委托书范本
2014/09/24 职场文书
公文写作指导之倡议书!
2019/07/03 职场文书
浅谈Python从全局与局部变量到装饰器的相关知识
2021/06/21 Python
Springboot/Springcloud项目集成redis进行存取的过程解析
2021/12/04 Redis
mysql分组后合并显示一个字段的多条数据方式
2022/01/22 MySQL