本站使用bbcode作为默认的排版语言,虽然它并不复杂,要比HTML简单很多,但是指望每一个人都能熟练使用也不现实。为了寻找我要的功能,我都还经常去看bbcode的源代码。为了方便各位使用者,要么使用自动插入bbcode标签的模块,比如quicktags,要么使用所见即所得的模块,比如tinymce。但quicktags项目似乎半死不活,不能支持Drupal 6.x,WYSIWYG的模块似乎总是和我用的opera过不去。所以我一直都是直接手写bbcode。
今天sasaqqdan提到BUEditor可以提供类似quicktags的功能,我把它装在了这个网站上试了试,确实不错。相对来说它对HTML的支持要强一点,bbcode也能支持,不过功能似乎很弱,比如缺少HTML方式中增加标题标签的功能。我折腾了半天,把HTML的标题标签功能移植到了bbcode上,虽然不算很优雅,不过凑合也能用用。
以下是插入标题的那一小段代码,需要注意的是,其中
今天sasaqqdan提到BUEditor可以提供类似quicktags的功能,我把它装在了这个网站上试了试,确实不错。相对来说它对HTML的支持要强一点,bbcode也能支持,不过功能似乎很弱,比如缺少HTML方式中增加标题标签的功能。我折腾了半天,把HTML的标题标签功能移植到了bbcode上,虽然不算很优雅,不过凑合也能用用。
以下是插入标题的那一小段代码,需要注意的是,其中
[h1]
、[/h1]
等标签中被加入了一个空格,这是为了让bbcode能“正确”显示这个程序,实际使用的时候请去掉多余的空格。js: function myTagChooser(tags) { var content = ''; for (var i in tags) { content += eDefHTML('li', '<a href="javascript:void(0)" class="choice" onclick="myClickChoice(\''+tags[i][0]+'\', \''+tags[i][1]+'\')">'+tags[i][2]+'</a>') +'\n'; } BUE.quickPop.open(eDefHTML('ul', content, {'class': 'chooser'}), 'slideDown'); } myClickChoice = function(tag0, tag1) { var E = BUE.active; E.tagSelection(tag0,tag1); E.focus(); } myTagChooser([ ['[h1 ]', '[/h1 ]', '<h1 class="bb-heading">标题1</h1>'], ['[h2 ]', '[/h2 ]', '<h2 class="bb-heading">标题2</h2>'], ['[h3 ]', '[/h3 ]', '<h3 class="bb-heading">标题3</h3>'], ['[h4 ]', '[/h4 ]', '<h4 class="bb-heading">标题4</h4>'], ]);
- labrador's blog
- 8997 次点击
发表新评论