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写的一个squid访问日志分析的小程序
Sep 17 Python
python版本的读写锁操作方法
Apr 25 Python
详解Python中的Descriptor描述符类
Jun 14 Python
Python爬虫框架Scrapy基本用法入门教程
Jul 26 Python
解决PySide+Python子线程更新UI线程的问题
Jan 11 Python
python3 动态模块导入与全局变量使用实例
Dec 22 Python
深入了解如何基于Python读写Kafka
Dec 31 Python
Pytorch 实现权重初始化
Dec 31 Python
基于Pycharm加载多个项目过程图解
Jan 19 Python
python实现扫雷游戏
Mar 03 Python
python用海龟绘图写贪吃蛇游戏
Jun 18 Python
python pygame 开发五子棋双人对弈
May 02 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 empty函数判断mysql表单是否为空
2010/04/12 PHP
页面利用渐进式JPEG来提升用户体验度
2014/12/01 PHP
php实现中文字符截取防乱码方法汇总
2015/04/29 PHP
php基于闭包实现函数的自调用(递归)实例分析
2016/11/11 PHP
php图像处理函数imagecopyresampled用法详解
2016/12/02 PHP
PHP实现的注册,登录及查询用户资料功能API接口示例
2017/06/06 PHP
基于PHP的微信公众号的开发流程详解
2020/08/07 PHP
jQuery 添加/移除CSS类实现代码
2010/02/11 Javascript
artDialog双击会关闭对话框的修改过程分享
2013/08/05 Javascript
JavaScript中的Truthy和Falsy介绍
2015/01/01 Javascript
javascript去除空格方法小结
2015/05/21 Javascript
vue分页组件table-pagebar使用实例解析
2020/11/15 Javascript
微信小程序开发中的疑问解答汇总
2017/07/03 Javascript
Angular4如何自定义首屏的加载动画详解
2017/07/26 Javascript
前端开发不得不知的10个最佳ES6特性
2017/08/30 Javascript
代码详解javascript模块加载器
2018/03/04 Javascript
React.js组件实现拖拽排序组件功能过程解析
2020/04/27 Javascript
JS将指定的某个字符全部转换为其他字符实例代码
2020/10/13 Javascript
[02:59]2014DOTA2西雅图国际邀请赛 圆满落幕中国夺冠
2014/07/23 DOTA
在Windows8上的搭建Python和Django环境
2014/07/03 Python
浅谈Python数据类型判断及列表脚本操作
2016/11/04 Python
python 3.5实现检测路由器流量并写入txt的方法实例
2017/12/17 Python
Python+tkinter使用40行代码实现计算器功能
2018/01/30 Python
Python输出由1,2,3,4组成的互不相同且无重复的三位数
2018/02/01 Python
Python iter()函数用法实例分析
2018/03/17 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
2019/07/18 Python
Django Rest framework解析器和渲染器详解
2019/07/25 Python
Python预测2020高考分数和录取情况
2020/07/08 Python
HTML5新增属性data-*和js/jquery之间的交互及注意事项
2017/08/08 HTML / CSS
武汉东之林科技有限公司机试
2013/09/17 面试题
销售高级职员求职信
2013/10/29 职场文书
优秀民警事迹材料
2014/01/29 职场文书
银行青年文明号事迹材料
2014/05/31 职场文书
交通安全责任书范本
2014/07/24 职场文书
导游词之广西漓江
2019/11/02 职场文书
2019年暑期法院实习报告
2019/12/18 职场文书