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的爬虫程序编写框架Scrapy入门学习教程
Jul 02 Python
python数据结构之列表和元组的详解
Sep 23 Python
python 实现对数据集的归一化的方法(0-1之间)
Jul 17 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
Aug 02 Python
python3 webp转gif格式的实现示例
Dec 10 Python
Python实现鼠标自动在屏幕上随机移动功能
Mar 14 Python
python 生成任意形状的凸包图代码
Apr 16 Python
Python根据指定文件生成XML的方法
Jun 29 Python
Python学习笔记之装饰器
Aug 06 Python
通过实例解析Python文件操作实现步骤
Sep 21 Python
python如何实现word批量转HTML
Sep 30 Python
python实现高效的遗传算法
Apr 07 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
用Simple Excel导出xls实现方法
2012/12/06 PHP
使用php实现截取指定长度
2013/08/06 PHP
php实现singleton()单例模式实例
2014/11/06 PHP
php魔术函数__call()用法实例分析
2015/02/13 PHP
php短信接口代码
2016/05/13 PHP
php使用自带dom扩展进行元素匹配的原理解析
2020/05/29 PHP
javascript 处理事件绑定的一些兼容写法
2009/12/24 Javascript
实现变速回到顶部的JavaScript代码
2011/05/09 Javascript
解析JSON对象与字符串之间的相互转换
2013/12/18 Javascript
jQuery实现鼠标可拖动调整表格列宽度
2014/05/26 Javascript
点击标签切换和自动切换DIV选项卡
2014/08/10 Javascript
JS实现选择TextArea内文本的方法
2015/08/03 Javascript
JavaScript数组复制详解
2017/02/02 Javascript
详解本地Node.js服务器作为api服务器的解决办法
2017/02/28 Javascript
JS数组搜索之折半搜索实现方法分析
2017/03/27 Javascript
BetterScroll 在移动端滚动场景的应用
2017/09/18 Javascript
vue+element-ui+axios实现图片上传
2019/08/20 Javascript
微信小程序进入广告实现代码实例
2019/09/19 Javascript
小程序Scroll-view上拉滚动刷新数据
2020/06/21 Javascript
[02:05]DOTA2完美大师赛趣味视频之看我表演
2017/11/18 DOTA
python3利用Dlib19.7实现人脸68个特征点标定
2018/02/26 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
2020/02/18 Python
python使用隐式循环快速求和的实现示例
2020/09/11 Python
Html5原创俄罗斯方块(基于canvas)
2019/01/07 HTML / CSS
新西兰Bookabach:查找全球度假屋
2020/12/03 全球购物
what is the difference between ext2 and ext3
2013/11/03 面试题
秦兵马俑教学反思
2014/02/07 职场文书
安全生产计划书
2014/05/04 职场文书
增员口号大全
2014/06/18 职场文书
党员四风自我剖析材料思想汇报
2014/09/13 职场文书
先进集体申报材料
2014/12/25 职场文书
助学感谢信范文
2015/01/21 职场文书
党员年度个人总结
2015/02/14 职场文书
小学校长个人总结
2015/03/03 职场文书
保送生自荐信
2015/03/06 职场文书
win7配置本地ftp服务器的图文教程
2022/08/05 Servers