vBulletin HACK----关于排版的两个HACK


Posted in PHP onOctober 09, 2006

《以vB代码实现的简单文字排版》
原因:1.1.4版本中没有这些,而国内的比较著名的UBB HACK之家就增加了很多对于文字排版的UBB代码(vB代码)。
优点:只需要几行,就可以实现,很简单。
缺点:因为需要嵌套,所以如果用户写得不好的话,会影响帖子其它内容的样式,甚至殃及整个话题。
自评:其实,这只是将更多的HTML代码以vB代码的形式来实现,为的让人从另一个角度去学习如何进行Web的文字排版而不用去学HTML,也为了安全。

步骤:打开 global.php ,查找“
function bbcodeparse2($bbcode,$forumid=0,$allowsmilie=1) {
”,在[code]和其它HACK之前的适当位置,例如“
      // 执行引用回复
      $bbcode=eregi_replace("quote\]","quote]",$bbcode);  // 小写化
      $bbcode=str_replace("[quote]rn","<blockquote><smallfont>引用:</smallfont><hr>",$bbcode);
      $bbcode=str_replace("[quote]","<blockquote><smallfont>引用:</smallfont><hr>",$bbcode);
      $bbcode=str_replace("[/quote]rn","<hr></blockquote>",$bbcode);
      $bbcode=str_replace("[/quote]","<hr></blockquote>",$bbcode);
”,在后面加入“
      // Hack color,font,size,style,center
      $bbcode=eregi_replace("\[color=["]{0,1}(#[a-z0-9-]{6})["]{0,1}\]","<font color=\1>",$bbcode);  // [color=]
      $bbcode=eregi_replace("\[/color\]","</font>",$bbcode);  // [/color];
      $bbcode=eregi_replace("\[size=["]{0,1}([0-9]{1})["]{0,1}\]","<font size=\1>",$bbcode);  // [size=]
      $bbcode=eregi_replace("\[/size\]","</font>",$bbcode);  //  [/size]
      $bbcode=eregi_replace("\[font=["]{0,1}([^\[]*)["]{0,1}\]","<font face="\1">",$bbcode);  // [font=]
      $bbcode=eregi_replace("\[/font\]","</font>",$bbcode);  //  // [/font]
      $bbcode=eregi_replace("\[style=["]{0,1}([^\[]*)["]{0,1}\]","<span style="\1">",$bbcode);  // [style=]
      $bbcode=eregi_replace("\[/style\]","</span>",$bbcode);  //  [/style]
      $bbcode=eregi_replace("\[center\]","<p align=center>",$bbcode);  // [center=]
      $bbcode=eregi_replace("\[/center\]","</p>",$bbcode);  //  [/center]
      // End Hack color size style
”,完成。
范例可以参考:

《禁止JavaScript》
原因:vBulletin没有对Javascript脚本做任何的特别对待处理,所以如果论坛开放了HTML代码的话,就有可能受到alert或window.open的袭击而沦陷。

步骤:打开 global.php ,查找“
    if ($dohtml==0) {
      // 删除HTML代码
      $bbcode=str_replace("&","&",$bbcode);
      $bbcode=str_replace("<","<",$bbcode);
      $bbcode=str_replace(">",">",$bbcode);
    }
”,在最后一个花括号前,加入“
    } else {
      $bbcode=eregi_replace("<([/]{0,1}script[^<]*)>","<\1>",$bbcode);
”,完成!

【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】    

PHP 相关文章推荐
用PHP和ACCESS写聊天室(九)
Oct 09 PHP
PHP入门速成教程
Mar 19 PHP
奇怪的PHP引用效率问题分析
Mar 23 PHP
php在window iis的莫名问题的测试方法
May 14 PHP
ThinkPHP写数组插入与获取最新插入数据ID实例
Nov 03 PHP
php curl请求信息和返回信息设置代码实例
Apr 27 PHP
帝国cms目录结构分享
Jul 06 PHP
PHP6新特性分析
Mar 03 PHP
PHP Smarty模版简单使用方法
Mar 30 PHP
PHP简单读取PDF页数的实现方法
Jul 21 PHP
浅谈PHP实现大流量下抢购方案
Dec 15 PHP
ThinkPHP5.0多个文件上传后找不到临时文件的修改方法
Jul 30 PHP
PHP+APACHE实现用户论证的方法
Oct 09 #PHP
从C/C++迁移到PHP——判断字符类型的函数
Oct 09 #PHP
PHP实现图片简单上传
Oct 09 #PHP
在线增减.htpasswd内的用户
Oct 09 #PHP
将OICQ数据转成MYSQL数据
Oct 09 #PHP
PHP中一个控制字符串输出的函数
Oct 09 #PHP
PHP用户指南-cookies部分
Oct 09 #PHP
You might like
探讨如何把session存入数据库
2013/06/07 PHP
解析smarty模板中类似for的功能实现
2013/06/18 PHP
PHP中的类型提示(type hinting)功能介绍
2015/07/01 PHP
PHP大文件分割分片上传实现代码
2020/12/09 PHP
一段多浏览器的&quot;复制到剪贴板&quot;javascript代码
2007/03/27 Javascript
ext 列表页面关于多行查询的办法
2010/03/25 Javascript
原生javascript实现拖动元素示例代码
2014/09/01 Javascript
jQuery统计指定子元素数量的方法
2015/03/17 Javascript
js实现交换运动效果的方法
2015/04/10 Javascript
全面解析jQuery $(document).ready()和JavaScript onload事件
2016/06/08 Javascript
js保留两位小数方法总结
2018/01/31 Javascript
关于AngularJS中几种Providers的区别总结
2020/05/17 Javascript
js实现滑动进度条效果
2020/08/21 Javascript
vue中利用three.js实现全景图的完整示例
2020/12/07 Vue.js
python中黄金分割法实现方法
2015/05/06 Python
使用Python神器对付12306变态验证码
2016/01/05 Python
Python面向对象编程基础解析(一)
2017/10/26 Python
浅谈Python中的私有变量
2018/02/28 Python
Django开发中复选框用法示例
2018/03/20 Python
详解基于django实现的webssh简单例子
2018/07/17 Python
Python函数参数操作详解
2018/08/03 Python
python中图像通道分离与合并实例
2020/01/17 Python
flask 框架操作MySQL数据库简单示例
2020/02/02 Python
python数据爬下来保存的位置
2020/02/17 Python
python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例
2020/03/06 Python
python matplotlib包图像配色方案分享
2020/03/14 Python
Python urlencode和unquote函数使用实例解析
2020/03/31 Python
python语言time库和datetime库基本使用详解
2020/12/25 Python
selenium3.0+python之环境搭建的方法步骤
2021/02/01 Python
博朗(Braun)俄罗斯官方商店:德国小家电品牌
2019/09/24 全球购物
旷课检讨书3000字
2014/02/04 职场文书
五一劳动节活动记录
2014/03/23 职场文书
感情真挚的毕业生求职信
2014/07/19 职场文书
2014年药房工作总结
2014/11/22 职场文书
Go Gin实现文件上传下载的示例代码
2021/04/02 Golang
Vue详细的入门笔记
2021/05/10 Vue.js