将 html 转成 ubb代码的小脚本

//coded by windy_sk 20031218 function html_trans(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.replace(/]+href="([^"]+)"[^>]*>(.*?)/ig,"\n$1\n");

str = str.replace(/]+color=([^ >]+)[^>]*>(.*?)/ig,"\n[color=$1]$2[/color]\n");

str = str.replace(/]+src="([^"]+)"[^>]*>/ig,"\n[img]$1[/img]\n");

str = str.replace(//ig,"[$1b]");
str = str.replace(//ig,"[$1b]");
str = str.replace(//ig,"[$1u]");
str = str.replace(//ig,"[$1i]");

str = str.replace(/ /g," ");
str = str.replace(/&/g,"&");
str = str.replace(/"/g,"\"");
str = str.replace(//g,">");

str = str.replace(/
/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 = "";
rtf.focus();
rtf.document.body.innerHTML = "";
rtf.document.execCommand("paste");
str = rtf.document.body.innerHTML;
if(str.length == 0) {
alert("剪切版不存在超文本数据!");
return "";
}
return html_trans(str);
}

启用超文本粘贴转换

rtf.document.designMode="On";

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

(0)

相关推荐

  • 将 html 转成 ubb代码的小脚本

    //coded by windy_sk 20031218 function html_trans(str) { str = str.replace(/\r/g,""); str = str.replace(/on(load|click|dbclick|mouseover|mousedown|mouseup)="[^"]+"/ig,""); str = str.replace(/]*?>([\w\W]*?)/ig,"&qu

  • Python如何将图像音视频等资源文件隐藏在代码中(小技巧)

    下午有同学Python学习群里说,使用pyinstaller打包源码时,因为代码中使用了图像.音频.视频等资源文件,无法将程序打包成单一的可执行文件.有没有方法将这些资源文件按保存在代码中呢?我想了一下,应该是可以的.于是乎,花了一个小时,写出了下面的代码,算是抛砖引玉吧. 这段代码可以将二进制文件转存为python脚本文件,供其他脚本引用.代码最后附有使用的例子,演示用的图片可以随便照一张.除了转存二进制数据,还提供了两个方法: get_fp():返回二进制的IO对象(类文件对象) save(

  • 分享几个写简洁java代码的小技巧

    目录 1.定义配置文件信息 2.用@RequiredArgsConstructor代替@Autowired 3.不要返回null 4.ifelse 5.减少controller业务代码 6.将字符串数组转换成逗号分隔字符串 总结 1. 定义配置文件信息 有时候我们为了统一管理会把一些变量放到 yml 配置文件中 例如 用 @ConfigurationProperties 代替 @Value 使用方法 定义对应字段的实体 @Data // 指定前缀 @ConfigurationProperties

  • 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

  • 注释PHP和html混合代码的小技巧(分享)

    我们在写php的时候有时候会遇到想要注释一部分的代码,是由html和PHP混合组成的,这时候如果一行一行去分开注释有点麻烦.但是又不敢删掉,这时候我们可以充分利用if语句去进行注释的功能 <?php if (1==2):?> //代码片段 <?php endif;?> 以上就是小编为大家带来的注释PHP和html混合代码的小技巧(分享)全部内容了,希望大家多多支持我们~

  • 改进:论坛UBB代码自动插入方式

    目前IECN论坛的UBB自动插入时,总是将插入的内容加到了文章末尾,使用起来很不方便.刚刚对它进行了一下改进.改进的代码参考river以前贴过的JS,在此对river深表感谢^^ 改进后:1.可在"当前光标处"插入相应的UBB代码2.可在"当前选中的内容"首尾分别插入相应的UBB代码3.通过浏览器:IE 5.0+, FireFox 1.06+, Opera8.5+ 相关JS代码:http://cnlei.iecn.net/mycode/ubb4iecn/ubb4ie

  • java实现代码统计小程序

    本文实例为大家分享了java代码统计小程序,供大家参考,具体内容如下 可以测试每周你的工作量 package rexExp; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class CodeCounter { //三个静态变量存储行数 st

随机推荐