亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bbcode.js

?? 一個完整的論壇系統(包括后臺管理和數據庫)
?? JS
?? 第 1 頁 / 共 2 頁
字號:
/*
	[Discuz!] (C)2001-2007 Comsenz Inc.
	This is NOT a freeware, use is subject to license terms

	$RCSfile: bbcode.js,v $
	$Revision: 1.55 $
	$Date: 2007/07/30 05:17:52 $
*/

var is_mac = userAgent.indexOf('mac') != -1;
var re;
if(isUndefined(codecount)) var codecount = '-1';
if(isUndefined(codehtml)) var codehtml = new Array();

function addslashes(str) {
	return preg_replace(['\\\\', '\\\'', '\\\/', '\\\(', '\\\)', '\\\[', '\\\]', '\\\{', '\\\}', '\\\^', '\\\$', '\\\?', '\\\.', '\\\*', '\\\+', '\\\|'], ['\\\\', '\\\'', '\\/', '\\(', '\\)', '\\[', '\\]', '\\{', '\\}', '\\^', '\\$', '\\?', '\\.', '\\*', '\\+', '\\|'], str);
}

function atag(aoptions, text) {
	if(trim(text) == '') {
		return '';
	}

	href = getoptionvalue('href', aoptions);

	if(href.substr(0, 11) == 'javascript:') {
		return trim(recursion('a', text, 'atag'));
	} else if(href.substr(0, 7) == 'mailto:') {
		tag = 'email';
		href = href.substr(7);
	} else {
		tag = 'url';
	}

	return '[' + tag + '=' + href + ']' + trim(recursion('a', text, 'atag')) + '[/' + tag + ']';
}

function bbcode2html(str) {

	str = trim(str);

	if(str == '') {
		return '';
	}

	if(!fetchCheckbox('bbcodeoff') && allowbbcode) {
		str= str.replace(/\s*\[code\]([\s\S]+?)\[\/code\]\s*/ig, function($1, $2) {return parsecode($2);});
	}

	if(!forumallowhtml && !(allowhtml && fetchCheckbox('htmlon'))) {
		str = str.replace(/</g, '&lt;');
		str = str.replace(/>/g, '&gt;');
		if(!fetchCheckbox('parseurloff')) {
			str = parseurl(str, 'html');
		}
	}

	if(!fetchCheckbox('smileyoff') && allowsmilies) {
		for(id in smilies) {
			re = new RegExp(addslashes(smilies[id]['code']), "g");
			str = str.replace(re, '<img src="./images/smilies/' + smilies[id]['url'] + '" border="0" smilieid="' + id + '" alt="' + smilies[id]['code'] + '" />');
		}
	}

	if(!fetchCheckbox('bbcodeoff') && allowbbcode) {
		str= str.replace(/\[url\]\s*(www.|https?:\/\/|ftp:\/\/|gopher:\/\/|news:\/\/|telnet:\/\/|rtsp:\/\/|mms:\/\/|callto:\/\/|bctp:\/\/|ed2k:\/\/){1}([^\[\"']+?)\s*\[\/url\]/ig, function($1, $2, $3) {return cuturl($2 + $3);});
		str= str.replace(/\[url=www.([^\[\"']+?)\](.+?)\[\/url\]/ig, '<a href="http://www.$1" target="_blank">$2</a>');
		str= str.replace(/\[url=(https?|ftp|gopher|news|telnet|rtsp|mms|callto|bctp|ed2k){1}:\/\/([^\[\"']+?)\]([\s\S]+?)\[\/url\]/ig, '<a href="$1://$2" target="_blank">$3</a>');
		str= str.replace(/\[email\](.*?)\[\/email\]/ig, '<a href="mailto:$1">$1</a>');
		str= str.replace(/\[email=(.[^\[]*)\](.*?)\[\/email\]/ig, '<a href="mailto:$1" target="_blank">$2</a>');
		str = str.replace(/\[color=([^\[\<]+?)\]/ig, '<font color="$1">');
		str = str.replace(/\[size=(\d+?)\]/ig, '<font size="$1">');
		str = str.replace(/\[size=(\d+(\.\d+)?(px|pt|in|cm|mm|pc|em|ex|%)+?)\]/ig, '<font style="font-size: $1">');
		str = str.replace(/\[font=([^\[\<]+?)\]/ig, '<font face="$1">');
		str = str.replace(/\[align=([^\[\<]+?)\]/ig, '<p align="$1">');
		str = str.replace(/\[float=([^\[\<]+?)\]/ig, '<br style="clear: both"><span style="float: $1;">');

		re = /\[table(?:=(\d{1,4}%?)(?:,([\(\)%,#\w ]+))?)?\]\s*([\s\S]+?)\s*\[\/table\]/ig;
		for (i = 0; i < 4; i++) {
			str = str.replace(re, function($1, $2, $3, $4) {return parsetable($2, $3, $4);});
		}

		str = preg_replace([
			'\\\[\\\/color\\\]', '\\\[\\\/size\\\]', '\\\[\\\/font\\\]', '\\\[\\\/align\\\]', '\\\[b\\\]', '\\\[\\\/b\\\]',
			'\\\[i\\\]', '\\\[\\\/i\\\]', '\\\[u\\\]', '\\\[\\\/u\\\]', '\\\[list\\\]', '\\\[list=1\\\]', '\\\[list=a\\\]',
			'\\\[list=A\\\]', '\\\[\\\*\\\]', '\\\[\\\/list\\\]', '\\\[indent\\\]', '\\\[\\\/indent\\\]', '\\\[\\\/float\\\]'
			], [
			'</font>', '</font>', '</font>', '</p>', '<b>', '</b>', '<i>',
			'</i>', '<u>', '</u>', '<ul>', '<ul type=1>', '<ul type=a>',
			'<ul type=A>', '<li>', '</ul>', '<blockquote>', '</blockquote>', '</span>'
			], str);
	}

	if(!fetchCheckbox('bbcodeoff')) {
		if(allowimgcode) {
			str = str.replace(/\[localimg=(\d{1,4}),(\d{1,4})\](\d+)\[\/localimg\]/ig, function ($1, $2, $3, $4) {if($('attach_' + $4)) {var src = $('attach_' + $4).value; if(src != '') return '<img style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=\'scale\',src=\'' + src + '\');width:' + $2 + ';height=' + $3 + '" src=\'images/common/none.gif\' border="0" aid="attach_' + $4 + '" alt="" />';}});
			str = str.replace(/\[img\]\s*([^\[\<\r\n]+?)\s*\[\/img\]/ig, '<img src="$1" border="0" alt="" />');
			str = str.replace(/\[attachimg\](\d+)\[\/attachimg\]/ig, function ($1, $2) {eval('var attachimg = $(\'preview_' + $2 + '\')');return '<img src="' + attachimg.src + '" border="0" aid="attachimg_' + $2 + '" width="' + attachimg.clientWidth + '" alt="" />';});
			str = str.replace(/\[img=(\d{1,4})[x|\,](\d{1,4})\]\s*([^\[\<\r\n]+?)\s*\[\/img\]/ig, '<img width="$1" height="$2" src="$3" border="0" alt="" />');
		} else {
			str = str.replace(/\[img\]\s*([^\[\<\r\n]+?)\s*\[\/img\]/ig, '<a href="$1" target="_blank">$1</a>');
			str = str.replace(/\[img=(\d{1,4})[x|\,](\d{1,4})\]\s*([^\[\<\r\n]+?)\s*\[\/img\]/ig, '<a href="$1" target="_blank">$1</a>');
		}
	}

	for(var i = 0; i <= codecount; i++) {
		str = str.replace("[\tDISCUZ_CODE_" + i + "\t]", codehtml[i]);
	}

	if(!forumallowhtml && !(allowhtml && fetchCheckbox('htmlon'))) {
		str = preg_replace(['\t', '   ', '  ', '(\r\n|\n|\r)'], ['&nbsp; &nbsp; &nbsp; &nbsp; ', '&nbsp; &nbsp;', '&nbsp;&nbsp;', '<br />'], str);
	}

	return str;
}

function cuturl(url) {
	var length = 65;
	var urllink = '<a href="' + (url.toLowerCase().substr(0, 4) == 'www.' ? 'http://' + url : url) + '" target="_blank">';
	if(url.length > length) {
		url = url.substr(0, parseInt(length * 0.5)) + ' ... ' + url.substr(url.length - parseInt(length * 0.3));
	}
	urllink += url + '</a>';
	return urllink;
}

function dpstag(options, text, tagname) {
	if(trim(text) == '') {
		return '\n';
	}
	var pend = parsestyle(options, '', '');
	var prepend = pend['prepend'];
	var append = pend['append'];
	if(in_array(tagname, ['div', 'p'])) {
		align = getoptionvalue('align', options);
		if(in_array(align, ['left', 'center', 'right'])) {
			prepend = '[align=' + align + ']' + prepend;
			append += '[/align]';
		} else {
			append += '\n';
		}
	}
	return prepend + recursion(tagname, text, 'dpstag') + append;
}

function fetchoptionvalue(option, text) {
	if((position = strpos(text, option)) !== false) {
		delimiter = position + option.length;
		if(text.charAt(delimiter) == '"') {
			delimchar = '"';
		} else if(text.charAt(delimiter) == '\'') {
			delimchar = '\'';
		} else {
			delimchar = ' ';
		}
		delimloc = strpos(text, delimchar, delimiter + 1);
		if(delimloc === false) {
			delimloc = text.length;
		} else if(delimchar == '"' || delimchar == '\'') {
			delimiter++;
		}
		return trim(text.substr(delimiter, delimloc - delimiter));
	} else {
		return '';
	}
}

function fonttag(fontoptions, text) {
	var prepend = '';
	var append = '';
	var tags = new Array();
	tags = {'font' : 'face=', 'size' : 'size=', 'color' : 'color='};
	for(bbcode in tags) {
		optionvalue = fetchoptionvalue(tags[bbcode], fontoptions);
		if(optionvalue) {
			prepend += '[' + bbcode + '=' + optionvalue + ']';
			append = '[/' + bbcode + ']' + append;
		}
	}

	var pend = parsestyle(fontoptions, prepend, append);
	return pend['prepend'] + recursion('font', text, 'fonttag') + pend['append'];
}

function getoptionvalue(option, text) {
	re = new RegExp(option + "(\s+?)?\=(\s+?)?[\"']?(.+?)([\"']|$|>)", "ig");
	var matches = re.exec(text);
	if(matches != null) {
		return trim(matches[3]);
	}
	return '';
}

function html2bbcode(str) {

	if(forumallowhtml || (allowhtml && fetchCheckbox('htmlon')) || trim(str) == '') {
		str = str.replace(/<img([^>]*aid=[^>]*)>/ig, function($1, $2) {return imgtag($2);});
		return str;
	}

	str= str.replace(/\s*\[code\]([\s\S]+?)\[\/code\]\s*/ig, function($1, $2) {return codetag($2);});

	str = preg_replace(['<style.*?>[\\\s\\\S]*?<\/style>', '<script.*?>[\\\s\\\S]*?<\/script>', '<noscript.*?>[\\\s\\\S]*?<\/noscript>', '<select.*?>[\s\S]*?<\/select>', '<object.*?>[\s\S]*?<\/object>', '<!--[\\\s\\\S]*?-->', 'on[a-zA-Z]{3,16}\\\s?=\\\s?"[\\\s\\\S]*?"'], '', str);

	str= str.replace(/(\r\n|\n|\r)/ig, '');

	str= trim(str.replace(/&((#(32|127|160|173))|shy|nbsp);/ig, ' '));

	if(!fetchCheckbox('parseurloff')) {
		str = parseurl(str, 'bbcode');
	}

	if(!fetchCheckbox('bbcodeoff') && allowbbcode) {
		str = preg_replace(['<table([^>]*(width|background|background-color|bgcolor)[^>]*)>', '<table[^>]*>', '<tr[^>]*(?:background|background-color|bgcolor)[:=]\\\s*(["\']?)([\(\)%,#\\\w]+)(\\1)[^>]*>', '<tr[^>]*>', '<t[dh]([^>]*(width|colspan|rowspan)[^>]*)>', '<t[dh][^>]*>', '<\/t[dh]>', '<\/tr>', '<\/table>'], [function($1, $2) {return tabletag($2);}, '[table]', function($1, $2, $3) {return '[tr=' + $3 + ']';}, '[tr]', function($1, $2) {return tdtag($2);}, '[td]', '[/td]', '[/tr]', '[/table]'], str);

		str = str.replace(/<h([0-9]+)[^>]*>(.*)<\/h\\1>/ig, "[size=$1]$2[/size]\n\n");
		str = str.replace(/<img[^>]+smilieid=(["']?)(\d+)(\1)[^>]*>/ig, function($1, $2, $3) {return smilies[$3]['code'];});
		str = str.replace(/<img([^>]*src[^>]*)>/ig, function($1, $2) {return imgtag($2);});
		str = str.replace(/<a\s+?name=(["']?)(.+?)(\1)[\s\S]*?>([\s\S]*?)<\/a>/ig, '$4');
		str = str.replace(/<br\s+?style=(["']?)clear: both;?(\1)[^\>]*>/ig, '');
		str = str.replace(/<br[^\>]*>/ig, "\n");

		str = recursion('b', str, 'simpletag', 'b');
		str = recursion('strong', str, 'simpletag', 'b');
		str = recursion('i', str, 'simpletag', 'i');
		str = recursion('em', str, 'simpletag', 'i');
		str = recursion('u', str, 'simpletag', 'u');
		str = recursion('a', str, 'atag');
		str = recursion('font', str, 'fonttag');
		str = recursion('blockquote', str, 'simpletag', 'indent');
		str = recursion('ol', str, 'listtag');
		str = recursion('ul', str, 'listtag');
		str = recursion('div', str, 'dpstag');
		str = recursion('p', str, 'dpstag');
		str = recursion('span', str, 'dpstag');
	}

	str = str.replace(/<[\/\!]*?[^<>]*?>/ig, '');

	for(var i = 0; i <= codecount; i++) {
		str = str.replace("[\tDISCUZ_CODE_" + i + "\t]", codehtml[i]);
	}

	return preg_replace(['&amp;', '&nbsp;', '&lt;', '&gt;'], ['&', ' ', '<', '>'], str);
}

function htmlspecialchars(str) {
	return preg_replace([(is_mac && is_ie ? '&' : '&(?!#[0-9]+;)'), '<', '>', '"'], ['&amp;', '&lt;', '&gt;', '&quot;'], str);
}

function imgtag(attributes) {
	var width = '';
	var height = '';

	re = /src=(["']?)([\s\S]*?)(\1)/i;
	var matches = re.exec(attributes);
	if(matches != null) {
		var src = matches[2];
	} else {
		return '';
	}

	re = /width\s?:\s?(\d{1,4})px/ig;
	var matches = re.exec(attributes);
	if(matches != null) {
		width = matches[1];
	}

	re = /height\s?:\s?(\d{1,4})px/ig;
	var matches = re.exec(attributes);
	if(matches != null) {
		height = matches[1];
	}

	if(!width || !height) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
高清国产午夜精品久久久久久| 婷婷久久综合九色综合伊人色| 777午夜精品免费视频| 99久久精品99国产精品| 国产高清亚洲一区| 精品一区二区三区视频在线观看| 人人精品人人爱| 日韩成人免费电影| 精品写真视频在线观看| 激情欧美日韩一区二区| 国产不卡视频在线观看| 国产风韵犹存在线视精品| 丁香婷婷综合网| 国产69精品久久久久毛片| www.亚洲国产| 欧洲精品在线观看| 欧美精品久久久久久久多人混战 | 中文字幕一区二| 国产欧美一区二区精品久导航 | 亚洲午夜私人影院| 亚洲成人精品一区二区| 日本成人在线看| 国产麻豆精品久久一二三| 国产成人在线网站| 91在线小视频| 日韩一区二区电影网| 日韩欧美中文字幕制服| 欧美国产精品v| 一区二区三区在线播| 日本伊人精品一区二区三区观看方式| 蜜桃久久av一区| jiyouzz国产精品久久| 欧美午夜一区二区| 久久蜜桃一区二区| 亚洲免费av在线| 精品无人区卡一卡二卡三乱码免费卡| 成人免费毛片高清视频| 欧美色综合久久| 久久久久久免费毛片精品| 亚洲视频中文字幕| 看片的网站亚洲| 97精品久久久久中文字幕| 日韩一区二区三区四区| 一色桃子久久精品亚洲| 久草在线在线精品观看| 日本高清视频一区二区| 久久久国产一区二区三区四区小说| 日韩理论片在线| 精品一二三四区| 在线观看视频一区二区欧美日韩| 久久久亚洲欧洲日产国码αv| 亚洲午夜在线电影| 99免费精品视频| 久久久www成人免费毛片麻豆 | 美女视频一区二区| 99国产欧美久久久精品| 精品国产三级a在线观看| 一区二区在线观看视频在线观看| 国产米奇在线777精品观看| 欧美丰满美乳xxx高潮www| 国产精品福利电影一区二区三区四区| 热久久免费视频| 在线视频一区二区三| 国产精品视频免费看| 久久爱www久久做| 在线播放91灌醉迷j高跟美女 | 久久精品网站免费观看| 日本不卡在线视频| 欧美色图片你懂的| 一区二区在线观看视频| av中文字幕一区| 中文欧美字幕免费| 一本色道久久综合亚洲91| 中文久久乱码一区二区| 国产剧情一区二区| 精品日韩在线一区| 美女脱光内衣内裤视频久久网站| 7777精品伊人久久久大香线蕉的 | 日本女人一区二区三区| 91精品国产麻豆国产自产在线 | 亚洲精品精品亚洲| 91视频观看视频| 国产精品无码永久免费888| 国产精品综合久久| 久久亚洲捆绑美女| 国产精品99久久久久久久vr| 久久综合九色综合97婷婷 | 国产精品美女久久久久久久久| 国产一区福利在线| 久久这里只有精品首页| 国产精品综合二区| 国产精品初高中害羞小美女文| 懂色av一区二区三区蜜臀| 国产女同互慰高潮91漫画| 日韩欧美aaaaaa| 九九视频精品免费| 国产欧美一区二区精品性色超碰 | 成人av在线一区二区| 国产精品久久久久久久久免费相片| 丰满岳乱妇一区二区三区| 中文字幕日韩一区| 制服丝袜亚洲播放| 国产精品自拍网站| 亚洲欧洲色图综合| 欧美日韩色综合| 精品一区免费av| 亚洲三级电影全部在线观看高清| 欧美日韩一本到| 国产乱码精品一区二区三区av| 成人欧美一区二区三区视频网页| 欧美视频一区二区| 国产一区二区三区久久悠悠色av| 日韩美女啊v在线免费观看| 欧美老人xxxx18| 国产乱码精品一区二区三区忘忧草| 国产精品色在线| 欧美日本一道本在线视频| 国产成人综合视频| 亚洲福利国产精品| 亚洲国产高清在线观看视频| 欧美乱妇15p| 91在线云播放| 国产一区二区免费视频| 一区二区三区日韩| 国产日韩精品一区二区浪潮av| 欧美在线影院一区二区| 国产露脸91国语对白| 天天综合天天综合色| 国产精品理论在线观看| 日韩欧美一区在线| 精品视频一区二区三区免费| 国产精品一区二区三区网站| 天天色综合成人网| 亚洲色图都市小说| 国产亚洲欧美在线| 日韩午夜在线观看视频| 欧美性生活一区| 成人精品高清在线| 国产麻豆视频一区| 九色综合狠狠综合久久| 丝袜脚交一区二区| 亚洲国产一区二区三区青草影视| 国产精品美女视频| 国产女同互慰高潮91漫画| 日韩欧美电影一二三| 欧美肥妇bbw| 91麻豆精品国产| 欧美日韩亚洲不卡| 欧美写真视频网站| 欧洲另类一二三四区| 91女神在线视频| 91色|porny| 91社区在线播放| 91浏览器打开| 色综合欧美在线| 色哟哟日韩精品| 欧美在线free| 欧美日韩久久一区| 91精品国产综合久久久蜜臀图片| 欧美视频一区在线| 欧美精品丝袜久久久中文字幕| 精品1区2区3区| 91精品久久久久久久91蜜桃| 91麻豆精品国产91久久久 | 久久日一线二线三线suv| 日韩精品一区二区三区四区 | www亚洲一区| 久久久亚洲精华液精华液精华液 | 不卡的电影网站| 99re视频精品| 精品视频一区三区九区| 欧美精品日韩精品| 欧美成人bangbros| 亚洲国产成人午夜在线一区| 国产精品不卡视频| 亚洲一区在线视频| 麻豆国产精品视频| 国产剧情在线观看一区二区| 97精品久久久午夜一区二区三区 | 国产在线不卡一卡二卡三卡四卡| 国产福利不卡视频| 色乱码一区二区三区88| 欧美伦理电影网| 久久九九久久九九| 一区二区三区免费| 久久精品国产999大香线蕉| 成人精品视频一区二区三区| 在线观看欧美精品| 欧美成人精品1314www| 国产精品久久久久久久久动漫| 亚洲国产aⅴ天堂久久| 狠狠色丁香久久婷婷综合_中 | 秋霞午夜鲁丝一区二区老狼| 国产综合色产在线精品| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 亚洲欧美日韩国产综合在线| 午夜不卡av免费| 成人av免费在线观看| 91麻豆精品国产91久久久更新时间| 亚洲国产精品国自产拍av|