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导出数据到Excel可读取的CSV文件的方法
May 12 Python
python中星号变量的几种特殊用法
Sep 07 Python
centos6.7安装python2.7.11的具体方法
Jan 16 Python
Python字典实现简单的三级菜单(实例讲解)
Jul 31 Python
python 全局变量的import机制介绍
Sep 07 Python
Python语言实现将图片转化为html页面
Dec 06 Python
Python走楼梯问题解决方法示例
Jul 25 Python
python针对不定分隔符切割提取字符串的方法
Oct 26 Python
PyQt5基本控件使用之消息弹出、用户输入、文件对话框的使用方法
Aug 06 Python
python文件操作seek()偏移量,读取指正到指定位置操作
Jul 05 Python
python爬虫线程池案例详解(梨视频短视频爬取)
Feb 20 Python
Python竟然能剪辑视频
May 25 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 静态化实现代码
2009/03/20 PHP
解析php file_exists无效的解决办法
2013/06/26 PHP
javascript smipleChart 简单图标类
2011/01/12 Javascript
Prototype源码浅析 String部分(三)之HTML字符串处理
2012/01/15 Javascript
form.submit()不能提交表单的错误原因及解决方法
2014/10/13 Javascript
JavaScript中的ArrayBuffer详细介绍
2014/12/08 Javascript
轻松创建nodejs服务器(10):处理上传图片
2014/12/18 NodeJs
分享纯手写漂亮的表单验证
2015/11/19 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
2016/01/19 Javascript
jQuery使用getJSON方法获取json数据完整示例
2016/09/13 Javascript
BootStrap 超链接变按钮的实现方法
2016/09/25 Javascript
简单谈谈Javascript函数中的arguments
2017/02/09 Javascript
详解vue数据渲染出现闪烁问题
2017/06/29 Javascript
vue中element-ui表格缩略图悬浮放大功能的实例代码
2018/06/26 Javascript
NodeJS实现自定义流的方法
2018/08/01 NodeJs
详解Vue组件之作用域插槽
2018/11/22 Javascript
详解离线安装npm包的几种方法
2018/11/25 Javascript
亲自动手实现vue日历控件
2019/06/26 Javascript
vue-cli脚手架的.babelrc文件用法说明
2020/09/11 Javascript
Python contextlib模块使用示例
2015/02/18 Python
python Django批量导入不重复数据
2016/03/25 Python
PYTHON压平嵌套列表的简单实现
2016/06/08 Python
深入解析Python中的上下文管理器
2016/06/28 Python
python检查URL是否正常访问的小技巧
2017/02/25 Python
单链表反转python实现代码示例
2018/02/08 Python
python面试题小结附答案实例代码
2019/04/11 Python
Python接口测试get请求过程详解
2020/02/28 Python
Python selenium如何打包静态网页并下载
2020/08/12 Python
在css3中background-clip属性与background-origin属性的用法介绍
2012/11/13 HTML / CSS
西班牙购买隐形眼镜、眼镜和太阳镜网站:Lentiamo.es
2020/06/11 全球购物
2014年会演讲稿范文
2014/01/06 职场文书
三好学生先进事迹材料
2014/08/28 职场文书
我的大学四年规划书范文2014
2014/09/26 职场文书
2014企业年终工作总结
2014/12/23 职场文书
2015年暑期社会实践方案
2015/07/14 职场文书
Android中View.post和Handler.post的关系
2022/06/05 Java/Android