【代码详解】BBCode:尝试使用纯文本模式编辑帖子吧
本帖最后由 星之子 于 2024-6-17 19:00 编辑BBCode 简介
BBCode是Bulletin Board Code的缩写,有译为“BB代码”者,属于轻量级标记语言(Lightweight Markup Language)的一种。如字面上所显示的,它主要是使用在BBS、论坛、Blog等网络应用上。BBCode最初由Ultimate Bulletin Board讨论区系统发展出来,因此常见UBB代码的称呼。
它是一种“将html语言通过正则表达式匹配特定格式的字符,将一段文本转换成带格式的内容”的语言。这种语言的基础语法是content,其中“command”表示对内容执行的操作,“content”表示被执行操作的内容。我们在普通模式的编辑板里的每一个操作,如加粗、更改字体、居中等等一切,都对应了纯文本代码的变更。
有些时候,泥潭的编辑板看到的内容 和 提交后显示的内容不一致,其实是因为代码本身出现了混乱。这个时候可以勾选右上角“纯文本”查看源代码,再取消勾选就能重新执行一遍代码,这个时候的编辑板若与这样操作前有区别,便是出现了前面提到的这种问题。
BBCode在泥潭的应用非常广泛,从发帖的纯文本、到签名、再到个人空间的自定义板块(通常用来空间一键),学明白了可以开发出很多有意思的操作。比如我把我的空间一键折腾成了这样:
基本的文字格式
删除线(Strikethrough):让我们荡起双桨
斜体(Italic):小船儿推开波浪
下划线(Underline):海面倒映着美丽的白塔
加粗(Bold):四周环绕着绿树**
字体(Font):小船儿轻轻飘荡在水中
颜色(Color):迎面吹来了凉爽的风测试一下:
删除线(Strikethrough):让我们荡起双桨
斜体(Italic):小船儿推开波浪
下划线(Underline):海面倒映着美丽的白塔
加粗(Bold):四周环绕着绿树**
字体(Font):小船儿轻轻飘荡在水中
颜色(Color):迎面吹来了凉爽的风
补充:字体和颜色
字体(Font):
颜色(Color): 旅程 f19149
金币 d3bb08
血液 7f2d00
追随 5871b4
咒术 8957a2
知识 83501a
灵魂 053968
堕落 303030
插入和超链接
attachimg 插入图片
attach 插入附件
这两个了解一下即可,它们的格式一般是一串数字,其中这串数字取决于内容上传到服务器的顺序,是自动生成的。可以直接使用编辑板上方的“插入图片”和“插入附件”功能,点击一下就会自动在帖子里插入。
url 超链接
方法:添加超链接的内容例如:
泥潭首页直达泥潭首页直达
img 插入图片并调节尺寸
方法:图片链接其中:
[*]图片尺寸是可选项,单位是像素,可以不填而直接图片链接……
[*]关于图片链接的获取,在浏览器右键点击一张图片,会出现“在新窗口中打开图片”和“复制图片地址”,二者均可。泥潭的相册里也有“查看原图”按钮,打开图片后地址栏就是图片链接。
[*]经常使用此方法,可以提高复用率,降低泥潭土豆服务器的压力。
例如:
https://img.gamemale.com/album/202406/10/203720xj818ooiofibotb2.jpg and https://img.gamemale.com/album/202406/10/203720xj818ooiofibotb2.jpghttps://img.gamemale.com/album/202406/10/203720xj818ooiofibotb2.jpg and https://img.gamemale.com/album/202406/10/203720xj818ooiofibotb2.jpg
嵌套使用
两者可以嵌套使用,创造一个可以点击跳转的图片,方法如下:
图片链接如资源帖中用于跳转到作者主页的按钮、签名中跳转到某个主页的图片、以及大家非常常用的空间一键赠送勋章,都使用了相同的方法。例如:
https://img.gamemale.com/album/202209/08/220343vhng1hmssoyh577i.gif这段代码是我空间的“一键赠送茉香啤酒”。其中action=zengsongAction表示赠送勋章,medalid=456是茉香啤酒的勋章(medal)编号(id),zs_uid=733330是输入要赠送的人(我)的UID,checkUID=733330是确定要送给这个人。在img和/img间的是茉香啤酒的图片地址(这里采用的是泥潭服务器上勋章商城的版本)。
再例如,这段代码可以生成一个跳转到泥潭主页的图片:
https://www.gamemale.com/template/mwt2/extend/img/logo.pnghttps://www.gamemale.com/template/mwt2/extend/img/logo.png
内容层级相关
align 对齐方式
方法:需要改变对齐方式的内容这个指令用于将文字左对齐/右对齐/居中,常常在放置大标题时用到。例如:
这是我要居中的内容这是我要居中的内容
spoiler 折叠
方法:被折叠内容注意:spoiler会在其前后各自进行一次自动换行,如果你希望内容紧凑,请不要为其单开一行。
【A】内容紧凑内容紧凑内容紧凑
【B】内容宽松
内容宽松
内容宽松【A】内容紧凑内容紧凑内容紧凑
【B】内容宽松
内容宽松
内容宽松
code 添加代码
方法:
注意:与spoiler类似,但仅会在其后进行一次自动换行,可以参考“内容紧凑”直接在/code后面续写内容而无需换行。
code命令后,所有其他的将不会被识别而是当作文本处理,直到/code出现为止。
quote 引用
方法:引用内容注意:与code一样,会在其后进行一次自动换行。
quote命令会生成一个带大双引号的框框,把引用内容单独放进去强调一下。
list 列表
方法:
[*]项目1
[*]项目2
[*]项目1
[*]项目2
如果需要按照序号排列,只需将list改为list=1即可。
注意:与code一样,会在其后进行一次自动换行。
index 分页
方法:index用于给文章分页并添加目录。它相对比较冷门,使用方法也比较复杂,但用得好可以让帖子看上去很高级。
首先要在文章的开头部分添加这样一段代码,来插入目录并指定每页的标题。
然后,在文章内容中插入进行分页。
作用域
每条都会作用于其后面的所有内容,直至找到与其对应的。作用域可以互相重叠。例如:
都没涉及 字体部分 重叠部分 颜色部分 都没涉及都没涉及 字体部分 重叠部分 颜色部分 都没涉及
另外,代码采取“就近原则”,相邻得最近的和会优先配对。重叠的作用域若使用了相同的command,也会遵循content前后最近的一个。例如:
和最后的/color配对和紧邻的/color配对和最后的/color配对和最后的/color配对和紧邻的/color配对和最后的/color配对
与大多数语言不同的是,BBCode并未将“换行”视为其语言的一部分(而几乎所有语言的换行都是被占用的,再用\n代替换行符)。例如:这两段代码有什么不同?
【A】
前面的内容
下一个标题
【B】
前面的内容
下一个标题测试一下:
【A】
前面的内容
下一个标题
【B】
前面的内容
下一个标题
虽然可能不太明显,但前者“下一个标题”与“前面的内容”之间空行的字体大小是5,而后者是3(即我在正文中使用的字体大小)。这就是作用域的区别,前者将“换行”这一动作包含在了size=5和/size之间。
附录
附录1:本帖的源代码
大家可以下载这段代码作为参考,看这个帖子是如何用BBCode写出来的。
附录2:求赞环节
https://img.gamemale.com/album/202405/31/001344ngqe3xzhqghtgm3f.jpg 如果你用目录分页功能,很多人其实打不开,比如我 潭的编辑板看到的内容 和 提交后显示的内容不一致
确实有时是会有这种情况出现惹{:6_169:}下次按照楼主的纯文本模式试试看{:6_169:} 我何德何能点进这个帖子,好像很简答但我就是看不懂…… 很棒的教程,不过咱一般还是土办法hhh,发出去后检查一遍然后重新用编辑功能改一改嘿嘿 现学现卖
目录功能也挺实用的但是好像很多人打不开? 目前了解到 如果文本量过多 会出现即使是纯文本编辑也会有bug的问题(之前办活动的时候发现尤为明显) 这样变成目录真的好高级,感谢楼主分享 写得挺用心的,但是或许直接把所有内容展开会更好 这个帖子我需要码住,因为楼主在和我撞贴的时候居然需要按步骤教我如何用纯文本编辑。。。。{:6_164:} 我以为的bbc是bgo的bbc脚本,还在想要这个代码做什么 一直用的纯文字,比较方便 0-0 确实 似乎文本量过多的话还是会出问题的样子 很不错的攻略,使我的帖子笑嘻嘻,泥潭真的很需要这种解释原理的帖子 终于能有个总结代码的帖子出来了,顺带加进去比如引用、折叠、隐藏(用hide提示不让用)、目录、音乐视频插入等等之类的吧! 我现在都说发帖前全部复制一遍,被吞怕了,泥潭格式也很容易不一样 table float p 也好玩
还有图片外链填写宽高时有个小技巧是把宽高其中一个数值填0,那么该项会按照图片原本比例自适应 盲流看不懂……点赞收藏然后在我的收藏里吃灰吧{:6_164:} 我的勋章统计帖经常使用表格,就是需要全部在纯文本模式下编写,而且我在准备word的时候也是写的各种标签 看起来很有用,狠狠地收藏了{:6_184:}