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
main.php
Dec 09 PHP
20个PHP常用类库小结
Sep 11 PHP
php无限极分类实现的两种解决方法
Apr 28 PHP
10个实用的PHP正则表达式汇总
Oct 23 PHP
php中$_POST与php://input的区别实例分析
Jan 07 PHP
php array_multisort 对数组进行排序详解及实例代码
Oct 27 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
Apr 01 PHP
php获取微信共享收货地址的方法
Dec 21 PHP
Laravel5.4框架使用socialite实现github登录的方法
Mar 20 PHP
php查询内存信息操作示例
May 09 PHP
PHP基于array_unique实现二维数组去重
Jul 14 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
PHP下MAIL的另一解决方案
2006/10/09 PHP
PHP在字符串中查找指定字符串并删除的代码
2008/10/02 PHP
php实现文本数据导入SQL SERVER
2015/05/17 PHP
PHP保存session到memcache服务器的方法
2016/01/19 PHP
Laravel 关联模型-关联新增和关联更新的方法
2019/10/10 PHP
Laravel 框架控制器 Controller原理与用法实例分析
2020/04/14 PHP
基于jQuery的消息提示插件之旅 DivAlert(三)
2010/04/01 Javascript
在JS中如何调用JSP中的变量
2014/01/22 Javascript
JavaScript使用cookie实现记住账号密码功能
2015/04/27 Javascript
JQUERY的AJAX请求缓存里的数据问题处理
2016/02/23 Javascript
nodejs构建本地web测试服务器 如何解决访问静态资源问题
2017/07/14 NodeJs
微信小程序媒体组件详解(视频,音乐,图片)
2017/09/19 Javascript
微信小程序实现倒计时补零功能
2018/07/09 Javascript
[02:27]DOTA2英雄基础教程 莱恩
2014/01/17 DOTA
python每次处理固定个数的字符的方法总结
2013/01/29 Python
将Emacs打造成强大的Python代码编辑工具
2015/11/20 Python
Python基础语法(Python基础知识点)
2016/02/28 Python
python 计算数据偏差和峰度的方法
2019/06/29 Python
详解DeBug Python神级工具PySnooper
2019/07/03 Python
python实现按关键字筛选日志文件
2019/12/24 Python
Pytorch 实现sobel算子的卷积操作详解
2020/01/10 Python
Python中使用socks5设置全局代理的方法示例
2020/04/15 Python
Django调用百度AI接口实现人脸注册登录代码实例
2020/04/23 Python
python中取绝对值简单方法总结
2020/07/24 Python
python爬虫使用正则爬取网站的实现
2020/08/03 Python
CSS3弹性盒模型开发笔记(二)
2016/04/26 HTML / CSS
澳大利亚墨水站Ink Station:墨水和碳粉打印机墨盒
2019/03/24 全球购物
成教自我鉴定
2013/10/27 职场文书
大学生怎样写好自荐信
2014/02/25 职场文书
售后服务承诺书模板
2014/05/21 职场文书
家长会标语
2014/06/24 职场文书
小学假期安全广播稿
2014/09/28 职场文书
一般纳税人申请报告
2015/05/18 职场文书
2015年教师个人业务工作总结
2015/10/23 职场文书
想要创业,那么你做好准备了吗?
2019/07/01 职场文书
PostgreSQL数据库创建并使用视图以及子查询
2022/04/11 PostgreSQL