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

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

?? spellchecker.pl.svn-base

?? 本項目是基于展示新聞的一款產品。在本系統中用戶可以自定義欄目及新聞分類 發布新聞信息
?? SVN-BASE
字號:
#!/usr/bin/perl

use CGI qw/ :standard /;
use File::Temp qw/ tempfile tempdir /;

# my $spellercss = '/speller/spellerStyle.css';					# by FredCK
my $spellercss = '../spellerStyle.css';							# by FredCK
# my $wordWindowSrc = '/speller/wordWindow.js';					# by FredCK
my $wordWindowSrc = '../wordWindow.js';							# by FredCK
my @textinputs = param( 'textinputs[]' ); # array
# my $aspell_cmd = 'aspell';									# by FredCK (for Linux)
my $aspell_cmd = '"C:\Program Files\Aspell\bin\aspell.exe"';	# by FredCK (for Windows)
my $lang = 'en_US';
# my $aspell_opts = "-a --lang=$lang --encoding=utf-8";			# by FredCK
my $aspell_opts = "-a --lang=$lang --encoding=utf-8 -H";		# by FredCK
my $input_separator = "A";

# set the 'wordtext' JavaScript variable to the submitted text. 
sub printTextVar {
	for( my $i = 0; $i <= $#textinputs; $i++ ) {
	        print "textinputs[$i] = decodeURIComponent('" . escapeQuote( $textinputs[$i] ) . "')\n";
	}
}

sub printTextIdxDecl {
	my $idx = shift;
	print "words[$idx] = [];\n";
	print "suggs[$idx] = [];\n";
}

sub printWordsElem {
	my( $textIdx, $wordIdx, $word ) = @_;
	print "words[$textIdx][$wordIdx] = '" . escapeQuote( $word ) . "';\n";
}

sub printSuggsElem {
	my( $textIdx, $wordIdx, @suggs ) = @_;
	print "suggs[$textIdx][$wordIdx] = [";
	for my $i ( 0..$#suggs ) {
		print "'" . escapeQuote( $suggs[$i] ) . "'";
		if( $i < $#suggs ) {
			print ", ";
		}
	}
	print "];\n";
}

sub printCheckerResults {
	my $textInputIdx = -1;
	my $wordIdx = 0;
	my $unhandledText;
	# create temp file
	my $dir = tempdir( CLEANUP => 1 );
	my( $fh, $tmpfilename ) = tempfile( DIR => $dir );

	# temp file was created properly?
	
	# open temp file, add the submitted text.
	for( my $i = 0; $i <= $#textinputs; $i++ ) {
		$text = url_decode( $textinputs[$i] );
		@lines = split( /\n/, $text );
		print $fh "\%\n"; # exit terse mode
		print $fh "^$input_separator\n";
		print $fh "!\n";  # enter terse mode
		for my $line ( @lines ) {
			# use carat on each line to escape possible aspell commands
			print $fh "^$line\n";
		}
		
	}
	# exec aspell command
	my $cmd = "$aspell_cmd $aspell_opts < $tmpfilename 2>&1";
	open ASPELL, "$cmd |" or handleError( "Could not execute `$cmd`\\n$!" ) and return;
	# parse each line of aspell return
	for my $ret ( <ASPELL> ) {
		chomp( $ret );
		# if '&', then not in dictionary but has suggestions
		# if '#', then not in dictionary and no suggestions
		# if '*', then it is a delimiter between text inputs
		if( $ret =~ /^\*/ ) {
			$textInputIdx++;
			printTextIdxDecl( $textInputIdx );
			$wordIdx = 0;
	
		} elsif( $ret =~ /^(&|#)/ ) {
			my @tokens = split( " ", $ret, 5 );
			printWordsElem( $textInputIdx, $wordIdx, $tokens[1] );
			my @suggs = ();
			if( $tokens[4] ) {
				@suggs = split( ", ", $tokens[4] );
			}
			printSuggsElem( $textInputIdx, $wordIdx, @suggs );
			$wordIdx++;
		} else {
			$unhandledText .= $ret;
		}
	}
	close ASPELL or handleError( "Error executing `$cmd`\\n$unhandledText" ) and return;
}

sub escapeQuote {
	my $str = shift;
	$str =~ s/'/\\'/g;
	return $str;
}

sub handleError {
	my $err = shift;
	print "error = '" . escapeQuote( $err ) . "';\n";
}

sub url_decode {
	local $_ = @_ ? shift : $_;
	defined or return;
	# change + signs to spaces
	tr/+/ /;
	# change hex escapes to the proper characters
	s/%([a-fA-F0-9]{2})/pack "H2", $1/eg;
	return $_;
}

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Display HTML
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

print <<EOF;
Content-type: text/html; charset=utf-8

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="$spellercss"/>
<script src="$wordWindowSrc"></script>
<script type="text/javascript">
var suggs = new Array();
var words = new Array();
var textinputs = new Array();
var error;
EOF

printTextVar();

printCheckerResults();

print <<EOF;
var wordWindowObj = new wordWindow();
wordWindowObj.originalSpellings = words;
wordWindowObj.suggestions = suggs;
wordWindowObj.textInputs = textinputs;


function init_spell() {
	// check if any error occured during server-side processing
	if( error ) {
		alert( error );
	} else {
		// call the init_spell() function in the parent frameset
		if (parent.frames.length) {
			parent.init_spell( wordWindowObj );
		} else {
			error = "This page was loaded outside of a frameset. "; 
			error += "It might not display properly";
			alert( error );
		}
	}
}

</script>

</head>
<body onLoad="init_spell();">

<script type="text/javascript">
wordWindowObj.writeBody();
</script>

</body>
</html>
EOF

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文一区一区三区高中清不卡| 成人在线视频一区| 1区2区3区精品视频| 亚洲欧洲无码一区二区三区| 精品久久免费看| 欧美tk丨vk视频| 日韩精品一区二区三区swag| 欧美一区二区三区爱爱| 日韩欧美自拍偷拍| 久久综合中文字幕| 国产欧美日本一区二区三区| 国产三区在线成人av| 亚洲国产精品传媒在线观看| 国产精品欧美综合在线| 国产精品乱码久久久久久| 亚洲欧美在线观看| 亚洲午夜精品在线| 精品伊人久久久久7777人| 日本成人在线看| 国内精品国产三级国产a久久| 国产专区欧美精品| 成人h版在线观看| 在线观看日产精品| 欧美一级在线免费| 久久久精品免费观看| 亚洲视频一区二区免费在线观看| 亚洲第一久久影院| 国产精品一区二区在线观看网站| 97精品国产97久久久久久久久久久久| 色偷偷久久一区二区三区| 欧美一级在线免费| 自拍偷拍亚洲激情| 老司机精品视频在线| 高清国产午夜精品久久久久久| 91黄色免费版| 久久这里只有精品视频网| 亚洲欧洲制服丝袜| 精品一二三四在线| 在线免费不卡视频| 久久精品视频网| 亚洲成人午夜电影| 99久久精品情趣| 欧美不卡一区二区三区四区| 国产日韩欧美激情| 亚洲v日本v欧美v久久精品| 国产一区三区三区| 欧美日韩精品一区二区三区 | 日韩欧美国产系列| 国产精品精品国产色婷婷| 日本不卡视频在线观看| 成人av中文字幕| 日韩欧美国产一区二区三区| 亚洲一区在线观看视频| 成人久久视频在线观看| 日韩视频免费观看高清在线视频| 中文字幕综合网| 国产高清在线观看免费不卡| 777午夜精品免费视频| 一区二区在线观看不卡| 国产高清不卡一区二区| 欧美哺乳videos| 日韩专区中文字幕一区二区| 91美女福利视频| 国产亚洲制服色| 极品尤物av久久免费看| 日韩一级欧美一级| 午夜久久电影网| 欧美午夜电影一区| 亚洲一区视频在线| 色94色欧美sute亚洲线路二 | 在线亚洲+欧美+日本专区| 国产精品视频麻豆| 高清久久久久久| 国产精品盗摄一区二区三区| 国产精品一区二区无线| 国产性色一区二区| 国产老女人精品毛片久久| 欧美成人激情免费网| 极品尤物av久久免费看| 精品国产成人系列| 国产经典欧美精品| 日韩理论片中文av| 色婷婷av一区二区三区大白胸| 亚洲精品日产精品乱码不卡| 色综合色综合色综合色综合色综合| 国产精品伦理一区二区| 色婷婷综合五月| 午夜电影一区二区| 日韩欧美一级特黄在线播放| 免费av网站大全久久| 欧美精品一区二区三区蜜桃| 国产精品1024久久| 日韩理论电影院| 欧美日韩1区2区| 韩国视频一区二区| 国产精品久久久久三级| 91浏览器在线视频| 三级影片在线观看欧美日韩一区二区| 日韩欧美视频在线| 国产成人在线视频网址| 亚洲精品美腿丝袜| 91精品国产综合久久小美女| 国产一区999| 亚洲精品写真福利| 欧美电影免费观看高清完整版在线| 国产一区二区久久| 亚洲精品久久久久久国产精华液| 欧美肥胖老妇做爰| 成人污污视频在线观看| 亚洲国产乱码最新视频| 欧美精品一区男女天堂| 91久久精品一区二区| 精品一区在线看| 亚洲黄色尤物视频| 久久久久国产免费免费| 日本电影亚洲天堂一区| 麻豆精品一区二区av白丝在线| 中文字幕精品—区二区四季| 欧美三级视频在线| 波多野结衣的一区二区三区| 日韩av电影免费观看高清完整版 | 国产一区二区三区免费观看| 亚洲色图视频网| 久久综合av免费| 欧美人狂配大交3d怪物一区| 国产成人精品免费在线| 亚洲成av人片一区二区梦乃| 国产亚洲精品超碰| 欧美一区二区日韩| 色婷婷精品大视频在线蜜桃视频| 精品一区二区三区免费| 亚洲国产欧美在线人成| 国产精品成人免费精品自在线观看| 91麻豆精品国产91久久久更新时间 | 丰满放荡岳乱妇91ww| 午夜a成v人精品| 亚洲蜜臀av乱码久久精品蜜桃| 国产视频视频一区| 精品国产在天天线2019| 欧美美女一区二区三区| 99国产精品久久久久久久久久| 国产精品综合网| 久久精品国产成人一区二区三区| 亚洲综合色成人| 亚洲黄色在线视频| 一区二区三区久久久| 国产精品久久久久久久久晋中 | 亚洲人成网站在线| 国产精品不卡在线观看| 日本一区二区三区四区在线视频 | 欧美一级日韩免费不卡| 欧美军同video69gay| 欧美日韩在线观看一区二区| 91污片在线观看| 99re热这里只有精品视频| 不卡的av中国片| 91色视频在线| 一本色道久久综合狠狠躁的推荐| 成人avav影音| 色婷婷av一区二区三区软件 | 亚洲人成在线播放网站岛国| 国产精品―色哟哟| 中文字幕亚洲一区二区av在线| 欧美激情中文字幕一区二区| 中文字幕欧美国产| 中文字幕亚洲区| 亚洲午夜电影网| 麻豆国产精品视频| 国产美女精品一区二区三区| 成人小视频在线| 欧美在线一区二区三区| 欧美一区二区国产| 久久亚洲免费视频| 一区二区中文字幕在线| 亚洲一区二区三区不卡国产欧美| 午夜久久久久久| 国产福利91精品一区| 91激情在线视频| 精品国产污网站| 最新热久久免费视频| 亚洲理论在线观看| 日本中文一区二区三区| 国产成人免费视频网站| 色婷婷久久久亚洲一区二区三区| 欧美日韩三级在线| 国产肉丝袜一区二区| 亚洲综合久久久久| 激情小说亚洲一区| 色综合久久综合| 精品少妇一区二区三区在线播放| 国产精品久久久久久久久图文区 | 精品国产自在久精品国产| 中文字幕日韩一区| 欧美a级理论片| 北条麻妃一区二区三区| 9191精品国产综合久久久久久| 久久先锋资源网| 亚洲国产精品视频| 99视频精品全部免费在线| 日韩视频中午一区|