|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
《以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); ”,完成! 【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】 返回类别: 教程 上一教程: 自己写的一个UBB转变的函数 下一教程: PHP中重新定向到另一个页面 您可以阅读与"vBulletin HACK----关于排版的两个HACK"相关的教程: · PHP模仿SQL Server的两个日期处理函数 · date.inc.php3,模仿SQLSERVER的两个函数:dateadd(),datediff() · vBulletin HACK----显示话题大小和打开新窗口于论坛索引页 · 模仿SQLSERVER的两个函数:dateadd(),datediff() · 关于准确理解PHP的错误信息的探讨 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |