设为首页收藏本站

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 894|回复: 1

[工具]HTML2UBB转换程序,将帖子内的垃圾html换成干净的UBB标签

[复制链接]
发表于 2011-8-4 23:45:16 | 显示全部楼层 |阅读模式
我想很多DZ的用户是由dvbbs等其他bbs程序转换过来的,转换来的帖子内有大量html代码,而dz默认是关闭html的,况且html也不安全。这样就会在贴子内显示出html代码,严重影响阅读。我写了个html2ubb函数,就可以方便的转换帖子的内容里面的html代码为ubb代码了。然后关闭你的版面的html,一切都清净了。
  1. <?php

  2. // --------------------------------------------------------------------------
  3. // 文件名 :
  4. // 描述 :
  5. // 需求 : PHP4 ([url]http://www.php.net[/url])
  6. //
  7. // Copyright(C), [url]www.cnfdc.com.cn[/url], 2005, All Rights Reserved.
  8. //
  9. // 作者 : lonestone ([email]wangyong.yichang@gmail.com[/email])
  10. //
  11. // --------------------------------------------------------------------------

  12. function html2ubb($html)
  13. {
  14.     $output=$html;
  15.     $output=preg_replace('/\r/i',"",$output);
  16.     $output=preg_replace('/\r/i',"",$output);
  17.     $output=preg_replace('/on(load|click|dbclick|mouseover|mousedown|mouseup)="[^"]+"/i',"",$output);
  18.     $output=preg_replace('/<script[^>]*?>([\w\W]*?)<\/script>/i',"",$output);

  19.     $output=preg_replace('/<a[^>]+href="([^"]+)"[^>]*>(.*?)<\/a>/i',"\n[url=$1]$2[/url]\n",$output);

  20.     $output=preg_replace('/<font[^>]+color=([^ >]+)[^>]*>(.*?)<\/font>/i',"[color=$1]$2[/color]",$output);

  21.     $output=preg_replace('/<img[^>]+src="([^"]+)"[^>]*>/i',"\n[img]$1[/img]\n",$output);

  22.     $output=preg_replace('/<([\/]?)b>/i',"[$1b]",$output);
  23.     $output=preg_replace('/<([\/]?)strong>/i',"[$1b]",$output);
  24.     $output=preg_replace('/<([\/]?)u>/i',"[$1u]",$output);
  25.     $output=preg_replace('/<([\/]?)i>/i',"[$1i]",$output);8

  26.     $output=preg_replace('/ /i'," ",$output);
  27.     $output=preg_replace('/&/i',"&",$output);
  28.     $output=preg_replace('/"/i',""",$output);
  29.     $output=preg_replace('/</i',"<",$output);
  30.     $output=preg_replace('/>/i',">",$output);

  31.     $output=preg_replace('/<br>/i',"\n",$output);
  32.     $output=preg_replace('/<[^>]*?>/i',"",$output);
  33.     $output=preg_replace('/\[url=([^\]]+)\]\n(\[img\][^\[]+?\[\/img\])\n\[\/url\]/i',"[url=$1]$2[/url]",$output);
  34.     $output=preg_replace('/\n+/i',"\n",$output);

  35.     return $output;
  36. }
  37. ?>
复制代码

完整的转换程序在附件内,由于采用了adodb库,有点大,转换完了可以全部删除

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 2011-8-4 23:45:41 | 显示全部楼层
后台升级 数据库 开启HTML。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|BC Morning Website ( Best Deal Inc. 001 )  

GMT-8, 2025-12-12 18:45 , Processed in 0.013699 second(s), 17 queries .

Supported by Best Deal Online X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表