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中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
Oct 23 Python
简单谈谈Python中函数的可变参数
Sep 02 Python
Python利用QQ邮箱发送邮件的实现方法(分享)
Jun 09 Python
python筛选出两个文件中重复行的方法
May 31 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
Dec 10 Python
Python实现判断一个整数是否为回文数算法示例
Mar 02 Python
python字符串替换re.sub()方法解析
Sep 18 Python
python 实现目录复制的三种小结
Dec 04 Python
python如何使用Redis构建分布式锁
Jan 16 Python
python3发送request请求及查看返回结果实例
Apr 30 Python
python 自动化偷懒的四个实用操作
Apr 11 Python
python实现一个简单的贪吃蛇游戏附代码
Jun 28 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
PHP无刷新上传文件实现代码
2011/09/19 PHP
Smarty模板变量与调节器实例详解
2019/07/20 PHP
php给数组赋值的实例方法
2019/09/26 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
PHP替换Word中变量并导出PDF图片的实现方法
2020/11/26 PHP
JQuery通过Ajax提交表单并返回结果
2011/07/31 Javascript
JQuery入门——事件切换之hover()方法应用介绍
2013/02/05 Javascript
JQuery的AJAX实现文件下载的小例子
2013/05/15 Javascript
使用js如何实现全选与全不选
2013/12/30 Javascript
jQuery.holdReady()方法用法实例
2014/12/27 Javascript
JavaScript使用FileSystemObject对象写入文本文件内容的方法
2015/08/05 Javascript
ECMAScript6轮播图实践知识总结
2016/08/17 Javascript
JavaScript 身份证号有效验证详解及实例代码
2016/10/20 Javascript
AngularJS入门教程之数据绑定原理详解
2016/11/02 Javascript
概述一个页面从输入URL到页面加载完的过程
2016/12/16 Javascript
基于vuejs实现一个todolist项目
2017/04/11 Javascript
ionic3实战教程之随机布局瀑布流的实现方法
2017/12/28 Javascript
vue集成kindeditor富文本的实现示例代码
2019/06/07 Javascript
JS操作字符串转数字的常见方法示例
2019/10/29 Javascript
electron 安装,调试,打包的具体使用
2019/11/06 Javascript
Python数据库的连接实现方法与注意事项
2016/02/27 Python
python编写分类决策树的代码
2017/12/21 Python
Python从文件中读取数据的方法讲解
2019/02/14 Python
你还在@微信官方?聊聊Python生成你想要的微信头像
2019/09/25 Python
python tornado修改log输出方式
2019/11/18 Python
python数据处理——对pandas进行数据变频或插值实例
2020/04/22 Python
python绘图pyecharts+pandas的使用详解
2020/12/13 Python
香港个人化生活购物网站:Ballyhoo Limited
2016/09/10 全球购物
孕妇装中的著名品牌:Isabella Oliver(伊莎贝拉·奥利弗)
2016/10/31 全球购物
俄罗斯旅游网站:Tripadvisor俄罗斯
2017/03/21 全球购物
学校运动会感想
2015/08/10 职场文书
清明扫墓感想
2015/08/11 职场文书
goland 设置project gopath的操作
2021/05/06 Golang
Python 中数组和数字相乘时的注意事项说明
2021/05/10 Python
Consul在linux环境的集群部署
2022/04/08 Servers
nginx实现多geoserver服务的负载均衡
2022/05/15 Servers