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基于QRCode实现生成二维码的方法【下载,安装,调用等】
Jul 11 Python
Python有序字典简单实现方法示例
Sep 28 Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
Nov 08 Python
python3中的md5加密实例
May 29 Python
详解django.contirb.auth-认证
Jul 16 Python
Python实现网站表单提交和模板
Jan 15 Python
对PyQt5中树结构的实现方法详解
Jun 17 Python
django将网络中的图片,保存成model中的ImageField的实例
Aug 07 Python
Python os模块常用方法和属性总结
Feb 20 Python
Django ModelForm操作及验证方式
Mar 30 Python
jupyter 使用Pillow包显示图像时inline显示方式
Apr 24 Python
python如何利用cv2模块读取显示保存图片
Jun 04 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
全国FM电台频率大全 - 20 广西省
2020/03/11 无线电
一个简易需要注册的留言版程序
2006/10/09 PHP
Php无限级栏目分类读取的实现代码
2014/02/19 PHP
php实现把url转换迅雷thunder资源下载地址的方法
2014/11/07 PHP
解决PHP里大量数据循环时内存耗尽的方法
2015/10/10 PHP
利用php_imagick实现复古效果的方法
2016/10/18 PHP
使用JavaScript实现Java的List功能(实例讲解)
2013/11/07 Javascript
jquery提交form表单简单示例分享
2014/03/03 Javascript
jquery中map函数与each函数的区别实例介绍
2014/06/23 Javascript
JS去除iframe滚动条的方法
2015/04/01 Javascript
AngularJS 日期格式化详解
2015/12/23 Javascript
[原创]JQuery 在表单提交之前修改 提交的值
2016/04/14 Javascript
JavaScript鼠标事件,点击鼠标右键,弹出div的简单实例
2016/08/03 Javascript
nodejs的压缩文件模块archiver用法示例
2017/01/18 NodeJs
微信小程序实现带刻度尺滑块功能
2017/03/29 Javascript
ReactNative短信验证码倒计时控件的实现代码
2017/07/20 Javascript
JavaScript判断浏览器和hack滚动条的写法
2017/07/23 Javascript
vue proxyTable 接口跨域请求调试的示例
2017/09/12 Javascript
详解微信小程序canvas圆角矩形的绘制的方法
2018/08/22 Javascript
详解vue中使用axios对同一个接口连续请求导致返回数据混乱的问题
2019/11/06 Javascript
python中的全局变量用法分析
2015/06/09 Python
Python中的数学运算操作符使用进阶
2016/06/20 Python
python日志logging模块使用方法分析
2019/05/23 Python
Pytorch中Tensor与各种图像格式的相互转化详解
2019/12/26 Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
2020/01/02 Python
python进度条显示-tqmd模块的实现示例
2020/08/23 Python
python dict如何定义
2020/09/02 Python
TensorFlow的环境配置与安装方法
2021/02/20 Python
学校食堂采购员岗位职责
2013/12/05 职场文书
2014年党务公开实施方案
2014/02/27 职场文书
工厂门卫岗位职责范本
2014/04/04 职场文书
创新社会管理心得体会
2014/09/12 职场文书
2014年骨干教师工作总结
2014/12/19 职场文书
求职简历自我评价范文
2015/03/10 职场文书
在K8s上部署Redis集群的方法步骤
2021/04/27 Redis
NGINX 权限控制文件预览和下载的实现原理
2022/01/18 Servers