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基础教程之基本内置数据类型介绍
Feb 20 Python
在Docker上开始部署Python应用的教程
Apr 17 Python
Python常用的内置序列结构(列表、元组、字典)学习笔记
Jul 08 Python
python如何修改装饰器中参数
Mar 20 Python
Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)
Dec 20 Python
python+opencv实现高斯平滑滤波
Jul 21 Python
Python使用folium excel绘制point
Jan 03 Python
python使用Plotly绘图工具绘制气泡图
Apr 01 Python
python验证身份证信息实例代码
May 06 Python
python对象转字典的两种实现方式示例
Nov 07 Python
用openCV和Python 实现图片对比,并标识出不同点的方式
Dec 19 Python
基于Python的自媒体小助手---登录页面的实现代码
Jun 29 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中设置时区,记录日志文件的实现代码
2013/01/07 PHP
PHP APC配置文件2套和参数详解
2014/06/11 PHP
2014年10个最佳的PHP图像操作库
2014/07/14 PHP
PHP上传图片、删除图片简单实例
2016/11/12 PHP
Packer 3.0 JS压缩及混淆工具 下载
2007/05/03 Javascript
Javascript公共脚本库系列(一): 弹出层脚本
2011/02/24 Javascript
jQuery 淡入淡出 png图在ie8下有黑色边框的解决方法
2013/03/05 Javascript
jQuery制作仿腾讯web qq用户体验桌面
2013/08/20 Javascript
js 动态加载事件的几种方法总结
2013/12/25 Javascript
深入浅析JavaScript的API设计原则
2016/06/14 Javascript
leaflet的开发入门教程
2016/11/17 Javascript
js中数组的常用方法小结
2016/12/30 Javascript
Ionic+AngularJS实现登录和注册带验证功能
2017/02/09 Javascript
vue.js中过滤器的使用教程
2017/06/08 Javascript
nodejs动态创建二维码的方法
2017/08/12 NodeJs
JavaScript同源策略和跨域访问实例详解
2018/04/03 Javascript
electron实现qq快捷登录的方法示例
2018/10/22 Javascript
vue实现微信分享功能
2018/11/28 Javascript
详解Vue.js中引入图片路径的几种方式
2019/06/17 Javascript
js中值引用和地址引用实例分析
2019/06/21 Javascript
vue 页面回退mounted函数不执行的解决方案
2020/07/26 Javascript
[51:39]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第二场 2月7日
2021/03/11 DOTA
python计算日期之间的放假日期
2018/06/05 Python
PyQt5实现类似别踩白块游戏
2019/01/24 Python
分享一个pycharm专业版安装的永久使用方法
2019/09/24 Python
python手写均值滤波
2020/02/19 Python
基于Python绘制美观动态圆环图、饼图
2020/06/03 Python
vscode+PyQt5安装详解步骤
2020/08/12 Python
Otticanet意大利:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
Java里面Pass by value和Pass by Reference是什么意思
2016/05/02 面试题
学生个人求职自荐信格式
2013/09/23 职场文书
2014幼儿园教师师德师风演讲稿
2014/09/10 职场文书
一年级小学生评语大全
2014/12/25 职场文书
2015年司机年终工作总结
2015/05/14 职场文书
使用Oracle跟踪文件的问题详解
2021/06/28 Oracle
十大经典日本动漫排行榜 海贼王第三,犬夜叉仅第八
2022/03/18 日漫