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实现斐波那契递归函数的方法
Sep 08 Python
用Python编写一个简单的Lisp解释器的教程
Apr 03 Python
深度定制Python的Flask框架开发环境的一些技巧总结
Jul 12 Python
Python获取当前函数名称方法实例分享
Jan 18 Python
Python爬虫天气预报实例详解(小白入门)
Jan 24 Python
对Tensorflow中的变量初始化函数详解
Jul 27 Python
python实战串口助手_解决8串口多个发送的问题
Jun 12 Python
Python爬取阿拉丁统计信息过程图解
May 12 Python
使用PyCharm安装pytest及requests的问题
Jul 31 Python
基于Python模拟浏览器发送http请求
Nov 06 Python
python温度转换华氏温度实现代码
Dec 06 Python
Python快速优雅的批量修改Word文档样式
May 20 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编程最快明白(第一讲 软件环境和准备工作)
2010/10/25 PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
2014/01/03 PHP
php一行代码获取文件后缀名实例分析
2014/11/12 PHP
PHP动态页生成静态页的3种常用方法
2014/11/13 PHP
PHP使用flock实现文件加锁的方法
2015/07/01 PHP
window.js 主要包含了页面的一些操作
2009/12/23 Javascript
单击按钮显示隐藏子菜单经典案例
2013/01/04 Javascript
解析dom中的children对象数组元素firstChild,lastChild的使用
2013/07/10 Javascript
JS实现控制表格只显示行边框或者只显示列边框的方法
2015/03/31 Javascript
javascript实现显示和隐藏div方法汇总
2015/08/14 Javascript
jQuery复制表单元素附源码分享效果演示
2015/09/30 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
2015/12/03 Javascript
Js利用Canvas实现图片压缩功能
2017/09/13 Javascript
微信小程序实现添加手机联系人功能示例
2017/11/30 Javascript
vue-cli下的vuex的简单Demo图解(实现加1减1操作)
2018/02/26 Javascript
不得不知的ES6小技巧
2018/07/28 Javascript
微信小程序 腾讯地图SDK 获取当前地址实现解析
2019/08/12 Javascript
ES6中let、const的区别及变量的解构赋值操作方法实例分析
2019/10/15 Javascript
[48:24]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第一场 12.09
2020/12/12 DOTA
Python开发实例分享bt种子爬虫程序和种子解析
2014/05/21 Python
python链接Oracle数据库的方法
2015/06/28 Python
详解Django中的过滤器
2015/07/16 Python
推荐10款最受Python开发者欢迎的Python IDE
2018/09/16 Python
python实现弹窗祝福效果
2019/04/07 Python
Python实现线性判别分析(LDA)的MATLAB方式
2019/12/09 Python
Python for循环搭配else常见问题解决
2020/02/11 Python
在python中使用nohup命令说明
2020/04/16 Python
Python爬虫工具requests-html使用解析
2020/04/29 Python
微软俄罗斯官方网站:Microsoft俄罗斯
2016/09/18 全球购物
为您的家、后院、车库等在线购物:Spreetail
2019/06/17 全球购物
药品采购员岗位职责
2014/02/08 职场文书
益达广告词
2014/03/14 职场文书
初三学习计划书范文
2014/04/30 职场文书
保护环境建议书400字
2014/05/13 职场文书
纪念九一八事变演讲稿:牢记九一八,屈辱怎能忘
2014/09/14 职场文书
导游词之苏州寒山寺
2019/12/05 职场文书