python实现html转ubb代码(html2ubb)

这两天在用python写一个采集器,有个功能模块是html代码转换为ubb,网上貌似没有现成程序,就自己写了个函数,顺便锻炼下自己的正则。

import re
def Html2UBB(content):
	#以下是将html标签转为ubb标签
	pattern = re.compile( '<a href=\"([sS]+?)\"[^>]*>([sS]+?)</a>',re.I)
	content = pattern.sub(r'[url=1]2[/url]',content)
	pattern = re.compile( '<img[^>]+src=\"([^\"]+)\"[^>]*>',re.I)
	content = pattern.sub(r'[img]1[/img]',content)
	pattern = re.compile( '<strong>([sS]+?)</strong>',re.I)
	content = pattern.sub(r'[b]1[/b]',content)
	pattern = re.compile( '<font color=\"([sS]+?)\">([sS]+?)</font>',re.I)
	content = pattern.sub(r'[1]2[/1]',content)
	pattern = re.compile( '<[^>]*?>',re.I)
	content = pattern.sub('',content)
	#以下是将html转义字符转为普通字符
	content = content.replace('<','<')
	content = content.replace('>','>')
	content = content.replace('”','”')
	content = content.replace('“','“')
	content = content.replace('"','"')
	content = content.replace('©','©')
	content = content.replace('®','®')
	content = content.replace(' ',' ')
	content = content.replace('—','—')
	content = content.replace('–','–')
	content = content.replace('‹','‹')
	content = content.replace('›','›')
	content = content.replace('…','…')
	content = content.replace('&','&')
	return content

使用时直接调用Html2UBB函数,返回值就是ubb码了html转ubb

(0)

相关推荐

  • Python实现全局变量的两个解决方法

    本文针对Python的全局变量实现方法简述如下: 先来看下面一段测试程序: count = 0 def Fuc(count): print count count += 1 for i in range(0, 10): Fuc(count) 运行结果是: >>> 0 0 0 0 0 0 0 0 0 0 很显然,这并不是我们想要的结果. 针对这一问题的解决方法就是采用全局变量: global a a = 3 def Fuc(): global a print a a = a + 1 if

  • python实现的解析crontab配置文件代码

    #/usr/bin/env python #-*- coding:utf-8 -*- """ 1.解析 crontab 配置文件中的五个数间参数(分 时 日 月 周),获取他们对应的取值范围 2.将时间戳与crontab配置中一行时间参数对比,判断该时间戳是否在配置设定的时间范围内 """ #$Id $ import re, time, sys from Core.FDateTime.FDateTime import FDateTime def

  • Python实现端口复用实例代码

    本文介绍Python实现端口复用实例如下所示: #coding=utf-8 import socket import sys import select import threading host='192.168.99.100' port=80 class Thread(threading.Thread): def __init__(self,buf,sockfd): threading.Thread.__init__(self) self.buf=buf self.sockfd=sockfd

  • python实现定制交互式命令行的方法

    Python的交互式命令行可通过启动文件来配置. 当Python启动时,会查找环境变量PYTHONSTARTUP,并且执行该变量中所指定文件里的程序代码.该指定文件名称以及地址可以是随意的.按Tab键时会自动补全内容和命令历史.这对命令行的有效增强,而这些工具则是基于readline模块实现的(这需要readline程序库辅助实现). 此处为大家举一个简单的启动脚本文件例子,它为python命令行添加了按键自动补全内容和历史命令功能. [python@python ~]$ cat .python

  • Python 获取新浪微博的最新公共微博实例分享

    API: statuses/public_timeline  返回最新的200条公共微博,返回结果非完全实时 CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-7-3 @author: guaguastd @name: statuses_public_timeline.py ''' def public_timeline(weibo_api, count): #public_timeline = weibo_a

  • windows下wxPython开发环境安装与配置方法

    安装文件准备: 安装文件 下载地址 python-2.6.2.msi http://www.python.org/download/ wxPython2.8-win32-unicode-2.8.10.1-py26.exe wxPython2.8-win32-docs-demos-2.8.10.1.exe http://www.wxpython.org/download.php py2exe-0.6.9.win32-py2.6.exe http://sourceforge.net/projects

  • 采用python实现简单QQ单用户机器人的方法

    采用python实现简单QQ单用户机器人的方法如下: 一.首先我们查看一下关于3GQQ的相关协议:     对此,打开一个支持WAP的浏览器,可以使用Firefox的wmlbrowser插件,打开FF后,访问地址 https://addons.mozilla.org/zh-CN/firefox/search/?q=wmlbrowser&cat=all&x=17&y=11    二.进入3GQQ的进行协议分析     3GQQ的地址是:http://pt.3g.qq.com/s?ai

  • 打印出python 当前全局变量和入口参数的所有属性

    def cndebug(obj=False): """ Author : Nemon Update : 2009.7.1 TO use : cndebug(obj) or cndebug() or MyObject.debug=cndebug License: GPL """ print('='*80) print('='*30 + ' GLOBAL VARIABLES ' +'='*30) print('='*80) g=globals() f

  • Python开发WebService系列教程之REST,web.py,eurasia,Django

    在Bioinformatics(生物信息学)领域,WebService是很重要的一种数据交换技术,未来必将更加重要.目前EBI所提供的WebService就分别有SOAP和REST两种方式的服务,不管是数据服务还是计算服务(计算任务提交). 1 Python + SOAP/WSDL/UDDI 最普遍的做法(个人观点)是使用 python ZSI2.0   ,ZSI还依赖于 SOAPpy  和 pyXML  等LIB. SOAP协议很多人都很熟悉,有很多现有的应用也都使用Java等语言来开发服务端

  • python实现html转ubb代码(html2ubb)

    这两天在用python写一个采集器,有个功能模块是html代码转换为ubb,网上貌似没有现成程序,就自己写了个函数,顺便锻炼下自己的正则. import re def Html2UBB(content): #以下是将html标签转为ubb标签 pattern = re.compile( '<a href=\"([sS]+?)\"[^>]*>([sS]+?)</a>',re.I) content = pattern.sub(r'[url=1]2[/url]'

  • 用python下载百度文库的代码

    先去下载一个叫SWFToImage.dll的东西 再建立一个bat文件,并运行: 复制代码 代码如下: COPY SWFToImage.dll %windir%\system32 regsvr32 %windir%\system32\SWFToImage.dll 复制代码 代码如下: #用python下载百度文库的代码,需要的同志请修改,下面有提示 #http://www.cnblogs.com/dearplain/ #code by plain import urllib2 import wi

  • python编程羊车门问题代码示例

    问题: 有3扇关闭的门,一扇门后面停着汽车,其余门后是山羊,只有主持人知道每扇门后面是什么.参赛者可以选择一扇门,在开启它之前,主持人会开启另外一扇门,露出门后的山羊,然后允许参赛者更换自己的选择. 请问: 1.按照你的第一感觉回答,你觉得不换选择能有更高的几率获得汽车,还是换选择能有更高的几率获得汽车?或几率没有发生变化? 答:第一感觉换与不换获奖几率没有发生变化. 2.请自己认真分析一下"不换选择能有更高的几率获得汽车,还是换选择能有更高的几率获得汽车?或几率没有发生变化?" 写出

  • Python探索之pLSA实现代码

    pLSA(probabilistic Latent Semantic Analysis),概率潜在语义分析模型,是1999年Hoffman提出的一个被称为第一个能解决一词多义问题的模型,通过在文档与单词之间建立一层主题(Topic),将文档与单词的直接关联转化为文档与主题的关联以及主题与单词的关联.这里采用EM算法进行估计,可能存在差错,望积极批评指正. # -*- coding: utf-8 -*- import math import random import jieba import c

  • Python单链表简单实现代码

    本文实例讲述了Python单链表简单实现代码.分享给大家供大家参考,具体如下: 用Python模拟一下单链表,比较简单,初学者可以参考参考 #coding:utf-8 class Node(object): def __init__(self, data): self.data = data self.next = None class NodeList(object): def __init__(self, node): self.head = node self.head.next = No

  • ubb代码转换为html

    记得以前贴过一个ubb代码转换为html格式的代码,前几天读ubb的源代码.所以有了这个新的版本.注意,这个版本可能还不能正常使用,详细见注. 这段代码将用户输入的ubb代码转化为html格式,注意,需要Script Engine 5.0的支持(使用了RegExp对象) 注:pattern中使用()将知道regexp记忆搜索到的值,$1是第一个(),其余类推.但$2的语法并不被5.0版本的vbscript.dll所支持,我检查了自己机器上的版本(安装过ie 5.5),发现vbscript.dll

  • php实现转换ubb代码的方法

    本文实例讲述了php实现转换ubb代码的方法.分享给大家供大家参考.具体如下: function ubb2html($content) { global $article; //是否自动识别 if ($article['isparseurl'] == "1") { $content = parseurl($content); } //自动识别结束 $content = eregi_replace(quotemeta("[b]"),quotemeta("&l

  • php实现过滤UBB代码的类

    本文实例讲述了php实现过滤UBB代码的类.分享给大家供大家参考.具体如下: PHP代码如下: 复制代码 代码如下: class Day{    function ubb($Text) {      /// UBB代码转换         //$Text=htmlspecialchars($Text);         //$Text=ereg_replace("\r\n","<br>",$Text);         $Text=ereg_replac

  • php Ubb代码编辑器函数代码

    复制代码 代码如下: <?php /* php Ubb代码编辑器 */ function get_ubb($ubb){ $ubb=preg_replace("/([B])(.*)([/B])/","<B>\2</B>" ,$ubb);//替换B粗体字 $ubb=preg_replace("/([I])(.*)([/I])/","<I>\2</I>" ,$ubb); $ubb

  • Python手机号码归属地查询代码

    简单的一个例子,是以前用Dephi写的,前不久刚实现了一个在Python中使用Delphi控件来编写界面程序,于是趁热写一个类似的的查询方案. 本实例是通过www.ip138.com这个网站来查询的,这里需要的几个知识点,就是用Python模拟网页提交数据,获得数据返回信息,以及对返回的Html信息进行解析,模拟Http提交,Python自带有一个urllib和urllib2这两个库,相当方便,只是奇怪,为什么不将两个库合并成一个,这样来的更方便.然后就是窗体了,窗体还是用我之前写的一个Pyth

随机推荐