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将多个文本文件合并为一个文本的代码(便于搜索)
Mar 13 Python
Python的dict字典结构操作方法学习笔记
May 07 Python
Python3.6简单的操作Mysql数据库的三个实例
Oct 17 Python
解决python3.5 正常安装 却不能直接使用Tkinter包的问题
Feb 22 Python
Python面向对象进阶学习
May 21 Python
基于MATLAB和Python实现MFCC特征参数提取
Aug 13 Python
python 中Arduino串口传输数据到电脑并保存至excel表格
Oct 14 Python
有关Tensorflow梯度下降常用的优化方法分享
Feb 04 Python
解决ROC曲线画出来只有一个点的问题
Feb 28 Python
python中数据库like模糊查询方式
Mar 02 Python
解决Jupyter无法导入已安装的 module问题
Apr 17 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
May 13 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
CodeIgniter框架提示Disallowed Key Characters的解决办法
2014/04/21 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
2015/02/02 PHP
jquery 锁定弹出层实现代码
2010/02/23 Javascript
Javascript 面向对象 继承
2010/05/13 Javascript
jquery keypress,keyup,onpropertychange键盘事件
2010/06/25 Javascript
一个javascript图片阅览组件
2010/11/09 Javascript
五个jQuery图片画廊插件 推荐
2011/05/12 Javascript
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
JavaScript 实现鼠标拖动元素实例代码
2014/02/24 Javascript
JavaScript中读取和保存文件实例
2014/05/08 Javascript
浅谈js中变量初始化
2015/02/03 Javascript
javascript基于prototype实现类似OOP继承的方法
2015/12/16 Javascript
Bootstrap下拉菜单效果实例代码分享
2016/06/30 Javascript
JavaScript自定义分页样式
2017/01/17 Javascript
angular和BootStrap3实现购物车功能
2017/01/25 Javascript
Angular模版驱动表单的使用总结
2018/05/05 Javascript
浅谈vue首屏加载优化
2018/06/28 Javascript
JS实现数组深拷贝的方法分析
2019/03/06 Javascript
微信小程序使用蓝牙小插件
2019/09/23 Javascript
详解如何在Javascript和Sass之间共享变量
2019/11/13 Javascript
javascript设计模式 ? 职责链模式原理与用法实例分析
2020/04/16 Javascript
基于vue的video播放器的实现示例
2021/02/19 Vue.js
[54:06]OG vs TNC 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python的面向对象思想分析
2015/01/14 Python
Python实现发送与接收邮件的方法详解
2018/03/28 Python
django+echart数据动态显示的例子
2019/08/12 Python
python中必要的名词解释
2019/11/20 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
2020/06/03 Python
MoviePy简介及Python视频剪辑自动化
2020/12/18 Python
Rockport乐步美国官网:风靡美国的白宫鞋
2016/11/24 全球购物
BASIC HOUSE官方旗舰店:韩国著名的服装品牌
2018/09/27 全球购物
Converse匡威法国官网:美国著名帆布鞋品牌
2018/12/05 全球购物
孝老爱亲模范事迹材料
2014/05/25 职场文书
党校个人总结
2015/03/04 职场文书
肖申克救赎观后感
2015/06/02 职场文书
公司开业主持词
2015/07/02 职场文书