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投票程序源码
Mar 11 PHP
PHP写的求多项式导数的函数代码
Jul 04 PHP
php_screw 1.5:php加密: 安装与使用详解
Jun 20 PHP
PHP根据两点间的经纬度计算距离
Oct 31 PHP
php采用curl模仿登录人人网发布动态的方法
Nov 07 PHP
php获取本周星期一具体日期的方法
Apr 20 PHP
HTML中嵌入PHP的简单方法
Feb 16 PHP
php mysqli查询语句返回值类型实例分析
Jun 29 PHP
PHP购物车类Cart.class.php定义与用法示例
Jul 20 PHP
PHP实现的62进制转10进制,10进制转62进制函数示例
Jun 06 PHP
PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例
Dec 31 PHP
PHP高并发和大流量解决方案整理
Mar 09 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
ini_set的用法介绍
2014/01/07 PHP
PHP之浮点数计算比较以及取整数不准确的解决办法
2015/07/29 PHP
浅谈Laravel中的一个后期静态绑定
2017/08/11 PHP
PHP Laravel中的Trait使用方法
2019/01/20 PHP
javascript深入理解js闭包
2010/07/03 Javascript
基于jQuery实现的水平和垂直居中的div窗口
2011/08/08 Javascript
基于jQuery的360图片展示实现代码
2012/06/14 Javascript
document.addEventListener使用介绍
2014/03/07 Javascript
JS实现超简洁网页title标题跑动闪烁提示效果代码
2015/10/23 Javascript
Vue.js表单控件实践
2016/10/27 Javascript
基于jQuery的checkbox全选问题分析
2016/11/18 Javascript
关于预加载InstantClick的问题解决方法
2017/09/12 Javascript
vue购物车插件编写代码
2017/11/27 Javascript
微信小程序中添加客服按钮contact-button功能
2018/04/27 Javascript
vue下history模式刷新后404错误解决方法
2018/08/18 Javascript
浅谈webpack devtool里的7种SourceMap模式
2019/01/14 Javascript
[03:12]2016完美“圣”典风云人物:单车专访
2016/12/02 DOTA
python实现DNS正向查询、反向查询的例子
2014/04/25 Python
python模块之StringIO使用示例
2015/04/08 Python
python使用PIL模块实现给图片打水印的方法
2015/05/22 Python
Python中的localtime()方法使用详解
2015/05/22 Python
Python3实现将一维数组按标准长度分隔为二维数组
2019/11/29 Python
Python requests模块session代码实例
2020/04/14 Python
tensorflow使用L2 regularization正则化修正overfitting过拟合方式
2020/05/22 Python
如何在Python对Excel进行读取
2020/06/04 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
2020/11/02 Python
Python字符串的15个基本操作(小结)
2021/02/03 Python
详解CSS3+JS完美实现放大镜模式
2020/12/03 HTML / CSS
英国DVD和蓝光碟片购买网站:Zoom.co.uk(电影和电视)
2019/09/23 全球购物
十岁生日家长答谢词
2014/01/17 职场文书
学生干部的自我评价分享
2014/01/18 职场文书
2014党员自我评议表范文
2014/09/20 职场文书
新年晚会开场白
2015/05/29 职场文书
MySQL创建管理KEY分区
2022/04/13 MySQL
winserver2019安装软件一直卡在应用程序正在为首次使用做准备
2022/06/10 Servers
MySQL深分页问题解决思路
2022/12/24 MySQL