简单的Html转换UBB的程序

这个功能主要是让 UBB 转贴的时候方便点.

1.自动识别图片,超链接,字体颜色,和字体加粗,倾斜,下划线的HTML代码,并且转换为UBB代码.
2.兼容 IE 和 Mozilla多种浏览器
<html>
<head>
<title>Html转换程序</title>
<SCRIPT language="JavaScript1.2">
function HtmlToUBB(str) {
str = str.replace(/\r/g,"");
str = str.replace(/on(load|click|dbclick|mouseover|mousedown|mouseup)="[^"]+"/ig,"");
str = str.replace(/<script[^>]*?>([\w\W]*?)<\/script>/ig,"");
str = str.replace(/<a[^>]+href="([^"]+)"[^>]*>(.*?)<\/a>/ig,"\n[url=$1]$2[/url]\n");
str = str.replace(/<font[^>]+color=([^ >]+)[^>]*>(.*?)<\/font>/ig,"\n[color=$1]$2[/color]\n");
str = str.replace(/<img[^>]+src="([^"]+)"[^>]*>/ig,"\n[img]$1[/img]\n");
str = str.replace(/<([\/]?)b>/ig,"[$1b]");
str = str.replace(/<([\/]?)strong>/ig,"[$1b]");
str = str.replace(/<([\/]?)u>/ig,"[$1u]");
str = str.replace(/<([\/]?)i>/ig,"[$1i]");
str = str.replace(/ /g," ");
str = str.replace(/&/g,"&");
str = str.replace(/"/g,"\"");
str = str.replace(/</g,"<");
str = str.replace(/>/g,">");
str = str.replace(/<br>/ig,"\n");
str = str.replace(/<[^>]*?>/g,"");
str = str.replace(/\[url=([^\]]+)\]\n(\[img\]\1\[\/img\])\n\[\/url\]/g,"$2");
str = str.replace(/\n+/g,"\n");
return str;
}

function trans(){
var str = "";
str = document.getElementById('edit').contentWindow.document.body.innerHTML;
if (str.length == 0) {
alert("无转换内容!请使用 Ctrl+V 把内容复制到下面的编辑框内");
}
document.getElementById('ReCode').value=HtmlToUBB(str);
}

function clearCode(){
document.getElementById('ReCode').value="";
}

function Start() {
  document.getElementById('edit').contentWindow.document.designMode = "on";
  try {
    document.getElementById('edit').contentWindow.document.execCommand("undo", false, null);
  }  catch (e) {
    alert("你的Mozilla浏览器不支持在线RichEditor");
  }
}

function ViewSource(Source){
  var Html;
  if (Source){
document.getElementById('sCode').value = document.getElementById('edit').contentWindow.document.body.innerHTML;
document.getElementById('edit').style.display="none";
document.getElementById('sCode').style.display="";
document.getElementById('tip').innerText="修改粘贴后的网页源代码 >>";
document.getElementById('tranButton').disabled="disabled"
  }
  else{
document.getElementById('edit').contentWindow.document.body.innerHTML = document.getElementById('sCode').value;
   document.getElementById('edit').style.display="";
document.getElementById('sCode').style.display="none";
    document.getElementById('edit').contentWindow.document.designMode = "on";
  document.getElementById('tip').innerText="请使用 Ctrl+V 把内容复制到这里 >>";
document.getElementById('tranButton').disabled=""
}
}
</SCRIPT>
<style>
body{background:#688ABD;margin:2px;}
label{color:#fff;}
th{font-size:14px;font-family:verdana,宋体;font-weight:bold;color:fc6;text-align:left}
#sCode{width:400;height:150px;border:1px solid #1F2F47;margin-top:0px !important;margin-top:-1px;margin-bottom:0px !important;margin-bottom:-1px;}
#ReCode{width:400;height:150px;border:1px solid #1F2F47;font-size:12px;}
#edit{width:398;height:148px;border:1px solid #1F2F47;background:#fff;font-size:12px}
.input{
 border-top:1px solid #fff;
 border-right:1px solid #003;
 border-bottom:1px solid #003;
 border-left:1px solid #fff;
 background:#F4F7FB;
}
.tip{
 color:#ffc;
 font-weight:bold;
 font-size:12px;
 font-family:宋体;
}
</style>
</head>
<body onload="Start()" style="">
<table border="0" align="center">
<tr>
<th style="">Html转换UBB程序</th>
</tr>
<tr>
<td style="font-size:12px;">
 <label for="Source"><input type="checkbox" id="Source" onclick="ViewSource(this.checked)">查看源代码 </label>
         <input id="tranButton" type="button" value="转 换" onclick="trans()" class="input">
         <input type="button" value="清 除" onclick="clearCode()" class="input"></td>
</tr>
<tr>
<td class="tip">
         <span id="tip">请使用 Ctrl+V 把内容复制到这里 >></span></td>
</tr>
<tr>
<td>
         <textarea id="sCode" style="display:none"></textarea>
         <iframe id="edit"src="about:blank" border="0" frameborder="0"></iframe>
</td>
</tr>
<tr>
<td class="tip">
         转换输出代码 >></td>
</tr>
<tr>
<td>
         <textarea id="ReCode" readonly="readonly"></textarea>
        </td>
</tr>
</table>
</body>
</html>

(0)

相关推荐

  • 简单的Html转换UBB的程序

    这个功能主要是让 UBB 转贴的时候方便点. 1.自动识别图片,超链接,字体颜色,和字体加粗,倾斜,下划线的HTML代码,并且转换为UBB代码.2.兼容 IE 和 Mozilla多种浏览器<html> <head> <title>Html转换程序</title> <SCRIPT language="JavaScript1.2"> function HtmlToUBB(str) { str = str.replace(/\r/g

  • Html转换UBB程序

    Html转换程序 function HtmlToUBB(str) { str = str.replace(/\r/g,""); str = str.replace(/on(load|click|dbclick|mouseover|mousedown|mouseup)="[^"]+"/ig,""); str = str.replace(/]*?>([\w\W]*?)/ig,""); str = str.repla

  • 教你如何用C#制作文字转换成声音程序

    教你如何用C#制作文字转换成声音程序 在System.Speech命名空间下,SpeechSynthesizer类可以把文字读出来,一起来玩下~~ 首先在Windows窗体项目中引入System.Speech.界面部分: 后台代码也很简单,只不过调用了SpeechSynthesizer类的一些方法: using System.Windows.Forms; using System.Speech; using System.Speech.Synthesis; namespace WindowsFo

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

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

  • Python简单实现子网掩码转换的方法

    本文实例讲述了Python简单实现子网掩码转换的方法.分享给大家供大家参考,具体如下: 这里实现将子网掩码长度转换为具体的子网掩码地址: def exchange_maskint(mask_int): bin_arr = ['0' for i in range(32)] for i in range(mask_int): bin_arr[i] = '1' tmpmask = [''.join(bin_arr[i * 8:i * 8 + 8]) for i in range(4)] tmpmask

  • javascript简单进制转换实现方法

    本文实例讲述了javascript简单进制转换实现方法.分享给大家供大家参考,具体如下: JavaScript下的进制转换非常方便,系统已经提供内置方法,提供2-36进制间的转型.直接提供表示的有8进制.10进制.16进制. var w=function(s){document.write('<br>'+s)}; //十进制转其他 var x=110; w(x); w(x.toString(8)); w(x.toString(32)); w(x.toString(16)); //其他转十进制

  • SQL中简单的格式转换方式

    先给大家介绍下SQL中简单的格式转换 1.to_number() select to_number('2015') from dual ---2015 2.to_char() --不需要转换格式 select to_char(2015) from dual ---'2015' --需要转换格式 select to_char(1, '$000') from dual --- $001 select to_char(2212, '$999999') from dual ---$2212 3.to_d

  • 利用QT写一个极简单的图形化Python闹钟程序

    今天我们讲一下用Python写的GUI小程序.一个小闹钟(只是屏幕提示,没有声音哦) 让我们先介绍这个闹钟如何奇葩. 需要通过命令行启动. 没有标题栏. 没菜单. 甚至没有关闭按钮. 没有运行界面. 看到这里想必大家要问了,何必去做一个这样弱爆了的程序呢.显然,教育意义大于其实际用处. 像其他的模块一样,QT界面包是需要加载的. 我们用到了命令行输入,所以,sys模块也是必须的. 用到了时间,但是我们不需要使用time模块,我们用QT提供的QTime模块. 让我们先写import 语句部分. i

  • Android下保存简单网页到本地(包括简单图片链接转换)实现代码

    最近在做一个项目涉及到将包含图片的简单网页下载到本地,方便离线时观看,在这里分享一下,大家做下简单修改就可以用到自己的项目中了.(这里用到了AQuery库) 复制代码 代码如下: package com.nekocode.xuedao.utils; import java.io.File;import java.io.FileOutputStream;import java.util.ArrayList;import java.util.regex.Matcher;import java.uti

  • 简单的PHP图片上传程序

    第一种: php部分 复制代码 代码如下: <?php  if($_FILES['file']['error'] > 0){     echo '!problem:';     switch($_FILES['file']['error'])     {       case 1: echo '文件大小超过服务器限制';               break;       case 2: echo '文件太大!';               break;       case 3: ech

随机推荐