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

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

?? spellchecker.pl

?? 新聞系統源碼 供學習和交流用 用于新聞管理
?? PL
字號:
#!/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一区二区三区免费野_久草精品视频
国产精品免费丝袜| 久久精品理论片| 日本美女一区二区| 97久久超碰国产精品电影| 在线成人高清不卡| 国产精品狼人久久影院观看方式| 亚洲一区视频在线| 粉嫩绯色av一区二区在线观看| 欧美三级韩国三级日本三斤 | 一区二区日韩电影| 国产一区二区三区精品欧美日韩一区二区三区| 成人av在线影院| 日韩美女主播在线视频一区二区三区| 一区在线观看免费| 国产福利91精品一区| 欧美一区二区三区四区久久| 亚洲精品中文在线影院| 成人午夜私人影院| 久久久亚洲高清| 美脚の诱脚舐め脚责91| 777亚洲妇女| 亚洲一区在线免费观看| av电影天堂一区二区在线| 久久久一区二区| 国产综合久久久久久鬼色| 这里只有精品电影| 亚洲超丰满肉感bbw| 在线精品视频免费观看| 亚洲乱码国产乱码精品精可以看| 国产iv一区二区三区| 精品国产免费人成在线观看| 美腿丝袜亚洲三区| 日韩一区国产二区欧美三区| 婷婷丁香激情综合| 欧美精品久久久久久久久老牛影院| 亚洲天堂免费在线观看视频| av资源站一区| 国产精品国产三级国产三级人妇| 成人av高清在线| 中文字幕在线不卡一区| av电影天堂一区二区在线| 成人欧美一区二区三区黑人麻豆 | 国产一区美女在线| 精品av久久707| 精品一区二区久久久| 久久综合九色综合97婷婷 | 色综合久久天天综合网| 中文字幕日韩av资源站| 91在线播放网址| 亚洲与欧洲av电影| 91精品国产色综合久久不卡蜜臀| 亚洲v中文字幕| 欧美一级欧美三级在线观看| 美女网站色91| 久久久久久亚洲综合| www.成人在线| 亚洲一区精品在线| 日韩一区二区精品在线观看| 韩国av一区二区三区| 国产精品久久影院| 欧美人与z0zoxxxx视频| 韩国女主播成人在线| 最近中文字幕一区二区三区| 欧美中文字幕不卡| 麻豆国产精品官网| 欧美激情在线观看视频免费| 欧洲精品一区二区| 国产精品正在播放| 一区二区久久久| 日韩精品中文字幕一区二区三区| 国产精品99久久久久久宅男| 亚洲欧美在线视频| 欧美一区二区三区在线观看视频| 国产成人激情av| 亚洲高清视频中文字幕| 久久影音资源网| 色就色 综合激情| 毛片av中文字幕一区二区| 国产精品污污网站在线观看 | 972aa.com艺术欧美| 日本三级亚洲精品| 国产精品美女久久久久久久久| 欧美亚洲图片小说| 国产一区二区三区在线看麻豆| 亚洲免费色视频| 精品日韩一区二区三区| 欧洲激情一区二区| av在线一区二区三区| 久久不见久久见免费视频7| **网站欧美大片在线观看| 日韩女优电影在线观看| 在线观看视频一区二区| 国产成人精品免费在线| 麻豆一区二区三| 亚洲国产欧美日韩另类综合 | 香蕉成人伊视频在线观看| 久久亚洲一区二区三区明星换脸| 在线观看国产91| 97se亚洲国产综合在线| 福利一区福利二区| 久久99九九99精品| 午夜伦理一区二区| 亚洲精品亚洲人成人网在线播放| 久久精品视频在线免费观看| 91精品福利在线一区二区三区 | 欧美一区二区视频在线观看2020| 成人国产亚洲欧美成人综合网 | 日韩综合小视频| 亚洲精品伦理在线| 中文字幕在线一区二区三区| 久久久国产一区二区三区四区小说| 4438亚洲最大| 4438x成人网最大色成网站| 欧美午夜电影在线播放| 日本高清不卡aⅴ免费网站| 99精品国产91久久久久久| 国产大陆a不卡| 国产成人无遮挡在线视频| 国产乱码精品一区二区三 | 国产欧美精品一区二区色综合朱莉| 日韩欧美亚洲国产精品字幕久久久| 欧美日韩国产成人在线91| 欧美三区免费完整视频在线观看| 色综合中文综合网| 亚洲国产cao| 亚洲第四色夜色| 亚洲国产中文字幕| 天堂蜜桃91精品| 日韩高清中文字幕一区| 免费国产亚洲视频| 丝袜亚洲另类欧美| 蜜臀精品一区二区三区在线观看| 青青草国产成人99久久| 国产在线一区观看| 成人免费高清视频| 99精品视频在线免费观看| 色中色一区二区| 欧美性受xxxx| 日韩一区二区三区四区| 精品人在线二区三区| 国产网站一区二区三区| 亚洲精品久久嫩草网站秘色| 亚洲成人免费视| 激情五月激情综合网| 成人午夜大片免费观看| 在线视频一区二区三区| 欧美一区二区免费视频| 国产亚洲精品7777| 一区二区三区四区视频精品免费| 亚洲va韩国va欧美va| 国产一区美女在线| 色av综合在线| 26uuu成人网一区二区三区| 亚洲欧洲在线观看av| 五月婷婷综合激情| 国产电影一区在线| 在线免费视频一区二区| 精品久久一区二区| 亚洲欧美欧美一区二区三区| 日本不卡一二三区黄网| 成人午夜短视频| 欧美一区二区视频免费观看| 亚洲欧洲一区二区在线播放| 蜜桃精品在线观看| 91首页免费视频| 精品国产露脸精彩对白| 又紧又大又爽精品一区二区| 卡一卡二国产精品 | 玉足女爽爽91| 国产一区二区三区免费看| 欧美视频一区在线| 久久新电视剧免费观看| 五月婷婷综合在线| 色综合天天做天天爱| 欧美mv日韩mv亚洲| 亚洲福利视频一区二区| jvid福利写真一区二区三区| 日韩美女天天操| 亚洲国产成人av| 91丝袜美女网| 国产女人aaa级久久久级| 美日韩一区二区三区| 欧美视频在线播放| 亚洲精品日韩一| 高清shemale亚洲人妖| 2023国产精品自拍| 蜜臀99久久精品久久久久久软件| 91国内精品野花午夜精品| 中文无字幕一区二区三区 | 久久美女艺术照精彩视频福利播放 | 国产精品一区二区免费不卡| 欧美男人的天堂一二区| 亚洲免费av网站| 成人av网在线| 欧美激情一区不卡| 国产美女一区二区| 26uuu成人网一区二区三区| 精品一二线国产| 精品久久久久久综合日本欧美 | 不卡的av电影在线观看|