[转]UBB代码解析规范

我们支持那些UBB?

下面列表罗列了我们支持的UBB标签:

功能写法解析
字体尺寸[size={0}]{1}[/size]<span style="font-size: {0}">{1}</span>
颜色[color={0}]{1}[/color]<span style="color: {0}">{1}</span>
字体加粗[b]{0}[/b]<strong>{0}</strong>
字体斜体[i]{0}[/i]<em>{0}</em>
字体带下滑线[u]{0}[/u]<span style="text-decoration: underline">{0}</span>
字体带删除线[del]{0}[/del]<span style="text-decoration: line-through">{0}</span>
内容居左显示[align=left]{0}[/align]<div style="text-align: left">{0}</div>
内容居右显示[align=right]{0}[/align]<div style="text-align: right">{0}</div>
内容居中显示[align=center]{0}[/align]<div style="text-align: center">{0}</div>
链接地址[url={0}]{1}[/url]<a href="{0}" target="_blank">{1}</a>
邮件地址[email={0}]{1}[/email]<a href="mailto:{0}">{1}</a>
外部图片链接[img={0}]{1}[/img]<img src="{0}" alt="{1}" />
包含的内容不作任何解析,输入的是如何就显示何种信息[BanUBB]{0}[/BanUBB]这个标签其间的任何内容都不作解析,输入何种格式,显示何种格式。
代码关键字高亮显示[code={0}]{1}[/code]系统将根据代码的不同,解析成不同的代码
目前支持的代码包含以下:
  • Assembly
  • BatchFile
  • C/C++ 
  • C#
  • CSS
  • HTML
  • INIFile
  • Java
  • JScript
  • Lua
  • MSIL
  • Delphi(Pascal)
  • Perl
  • PHP
  • Python
  • SQL
  • VB.NET
  • VBScript
  • XAML
  • XML

推荐使用的一些UBB写法

下面罗列一些推荐使用的UBB写法:

  • ddd[b]dsf[/b]ddd[i]sddsf[/i]sdds
  • 1ssas[i]23[b]143[/b]243dd[/i]2ss

UBB标签区分大小写么?

不区分,你可以输入大写或着小写的UBB标签,甚至可以输入大小写混合的UBB标签。

比如,你如下方式的输入都是可以被系统识别的

  • sdfdsf[B]sadsad[/b]dsfsdfds
  • sdfdsf[Del]dsfdsfs[/dEl]';;;sdf

 

开始标签与结束标签的配对问题

开始标签和结束标签必须一一配对,而且中间不允许出现类似如下的情况:[b]asadsss[i]sss232sssssss[/b]dddd3[/i]

出现上述情况时,由于 [b] 是最早出现的开始标签,结果就是 [i] 标签不起作用。 [b] 标签其作用。

上述策略会受 UBB 标签嵌套策略的干扰。不过一般结果是,只有一个标签起作用,另外一个不起作用。

 

UBB 标签嵌套的时候如何进行解析的?

何谓标签嵌套?

指UBB标签区域内还有其他UBB标签存在,这种情况就叫UBB标签嵌套。

并不是所有的UBB标签都支持嵌套,嵌套还包括被嵌套和嵌套别人。

完全不支持嵌套效果的UBB标签如下:

  • [BanUBB]{0}[/BanUBB] 强制禁用包含区间的文字不启用UBB效果。所以不存在UBB标签嵌套的问题。
  • [code={0}]{1}[/code] 代码高亮、缩紧处理有一套自己的处理逻辑,期间包含的任何文本,都只会被代码高亮缩紧逻辑所处理,不会被其他UBB标签所处理。
举例:

1、[BanUBB][code=C#]using System;[/code][/BanUBB]
这个由于BanUBB标签比code标签在外层,起作用的标签是BanUBB,也就是期中的文本原样显示。

2、[code=C#][BanUBB]using System;[/BanUBB][/code]
这个由于code标签比BanUBB标签在外层,起作用的解析是代码高亮缩进。

3、[b]1231[BanUBB]ddsgewg[/BanUBB]ssfew[/b]
由于 [BanUBB] 标签被嵌套,导致[b] 标签彻底作废,不起任何作用。



不能嵌套其他UBB标签的标签如下:

  • [img={0}]{1}[/img]
举例:

1、[img=http://community.csdn.net/IndexPage/Images/feedback.gif][b]如何反馈[/b][/img]
上述UBB文本中,[b]标签不起作用. 应为这个标签内的内容被解析成图片提示文字了,这时候输入任何东西。解析效果都看不到。


代码高亮显示支持的一些功能限制:

  • 除了上述列表支持的语言外,其他语言如果写成代码高亮的UBB方式,都将不进行解析,将原样进行显示。
  • 代码高亮显示组件由于是使用的一个第三方的组件,这个组件并没有支持C\C++ 语言,我们暂时也无法支持C\C++ 语言。由于C#语言跟C\C++ 语言很多显示效果是一样的,你可以暂时用 C# 语言来显示 C++ 的语言。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值