<?php
header('Content-type: text/html; charset=utf-8');
// The following variables values must reflect your installation needs.
$aspell_prog = '"C:\Program Files\Aspell\bin\aspell.exe"'; // by FredCK (for Windows)
//$aspell_prog = 'aspell'; // by FredCK (for Linux)
$lang = 'en_US';
$aspell_opts = "-a --lang=$lang --encoding=utf-8 -H --rem-sgml-check=alt"; // by FredCK
$tempfiledir = "./";
$spellercss = '../spellerStyle.css'; // by FredCK
$word_win_src = '../wordWindow.js'; // by FredCK
$textinputs = $_POST['textinputs']; # array
$input_separator = "A";
# set the JavaScript variable to the submitted text.
# textinputs is an array, each element corresponding to the (url-encoded)
# value of the text control submitted for spell-checking
function print_textinputs_var() {
global $textinputs;
foreach( $textinputs as $key=>$val ) {
# $val = str_replace( "'", "%27", $val );
echo "textinputs[$key] = decodeURIComponent(\"" . $val . "\");\n";
}
}
# make declarations for the text input index
function print_textindex_decl( $text_input_idx ) {
echo "words[$text_input_idx] = [];\n";
echo "suggs[$text_input_idx] = [];\n";
}
# set an element of the JavaScript 'words' array to a misspelled word
function print_words_elem( $word, $index, $text_input_idx ) {
echo "words[$text_input_idx][$index] = '" . escape_quote( $word ) . "';\n";
}
# set an element of the JavaScript 'suggs' array to a list of suggestions
function print_suggs_elem( $suggs, $index, $text_input_idx ) {
echo "suggs[$text_input_idx][$index] = [";
foreach( $suggs as $key=>$val ) {
if( $val ) {
echo "'" . escape_quote( $val ) . "'";
if ( $key+1 < count( $suggs )) {
echo ", ";
}
}
}
echo "];\n";
}
# escape single quote
function escape_quote( $str ) {
return preg_replace ( "/'/", "\\'", $str );
}
# handle a server-side error.
function error_handler( $err ) {
echo "error = '" . escape_quote( $err ) . "';\n";
}
## get the list of misspelled words. Put the results in the javascript words array
## for each misspelled word, get suggestions and put in the javascript suggs array
function print_checker_results() {
global $aspell_prog;
global $aspell_opts;
global $tempfiledir;
global $textinputs;
global $input_separator;
$aspell_err = "";
# create temp file
$tempfile = tempnam( $tempfiledir, 'aspell_data_' );
# open temp file, add the submitted text.
if( $fh = fopen( $tempfile, 'w' )) {
for( $i = 0; $i < count( $textinputs ); $i++ ) {
$text = urldecode( $textinputs[$i] );
$lines = explode( "\n", $text );
fwrite ( $fh, "%\n" ); # exit terse mode
fwrite ( $fh, "^$input_separator\n" );
fwrite ( $fh, "!\n" ); # enter terse mode
foreach( $lines as $key=>$value ) {
# use carat on each line to escape possible aspell commands
fwrite( $fh, "^$value\n" );
}
}
fclose( $fh );
# exec aspell command - redirect STDERR to STDOUT
$cmd = "$aspell_prog $aspell_opts < $tempfile 2>&1";
if( $aspellret = shell_exec( $cmd )) {
$linesout = explode( "\n", $aspellret );
$index = 0;
$text_input_index = -1;
# parse each line of aspell return
foreach( $linesout as $key=>$val ) {
$chardesc = substr( $val, 0, 1 );
# 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 '@' then version info
if( $chardesc == '&' || $chardesc == '#' ) {
$line = explode( " ", $val, 5 );
print_words_elem( $line[1], $index, $text_input_index );
if( isset( $line[4] )) {
$suggs = explode( ", ", $line[4] );
} else {
$suggs = array();
}
print_suggs_elem( $suggs, $index, $text_input_index );
$index++;
} elseif( $chardesc == '*' ) {
$text_input_index++;
print_textindex_decl( $text_input_index );
$index = 0;
} elseif( $chardesc != '@' && $chardesc != "" ) {
# assume this is error output
$aspell_err .= $val;
}
}
if( $aspell_err ) {
$aspell_err = "Error executing `$cmd`\\n$aspell_err";
error_handler( $aspell_err );
}
} else {
error_handler( "System error: Aspell program execution failed (`$cmd`)" );
}
} else {
error_handler( "System error: Could not open file '$tempfile' for writing" );
}
# close temp file, delete file
unlink( $tempfile );
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="<?php echo $spellercss ?>" />
<script language="javascript" src="<?php echo $word_win_src ?>"></script>
<script language="javascript">
var suggs = new Array();
var words = new Array();
var textinputs = new Array();
var error;
<?php
print_textinputs_var();
print_checker_results();
?>
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 {
alert('This page was loaded outside of a frameset. It might not display properly');
}
}
}
</script>
</head>
<!-- <body onLoad="init_spell();"> by FredCK -->
<body onLoad="init_spell();" bgcolor="#ffffff">
<script type="text/javascript">
wordWindowObj.writeBody();
</script>
</body>
</html>
没有合适的资源?快使用搜索试试~ 我知道了~
基于ASP的招标网源码.zip
共991个文件
jpg:401个
asp:240个
gif:187个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 166 浏览量
2023-07-19
23:50:57
上传
评论
收藏 8.91MB ZIP 举报
温馨提示
基于ASP的招标网源码.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于ASP的招标网源码.zip (991个子文件)
Function.asp 35KB
Submit.asp 32KB
Main.asp 32KB
index.asp 23KB
addzb.asp 15KB
addzb_s.asp 13KB
top.asp 13KB
utop.asp 13KB
UsersEdit.asp 12KB
md5.asp 11KB
md5.asp 11KB
tbinfor.asp 11KB
save.asp 11KB
userinfor.asp 10KB
class_upload.asp 9KB
vip_productsedit.asp 7KB
vip_zbedit.asp 7KB
pinpai.asp 7KB
reg.asp 7KB
zblist.asp 7KB
left_com.asp 7KB
vip_jobedit.asp 7KB
io.asp 6KB
NewsEdit.asp 6KB
company.asp 6KB
fckeditor.asp 6KB
vip_teamedit.asp 5KB
vip_salesedit.asp 5KB
vip_caseedit.asp 5KB
pinpaiinfor.asp 5KB
tblist.asp 5KB
ProductsEdit.asp 5KB
commands.asp 5KB
companyinfor.asp 5KB
vip_newsedit.asp 5KB
config.asp 5KB
Function.asp 5KB
vip_linkedit.asp 5KB
baike.asp 5KB
jcpinpai.asp 5KB
FilesEdit.asp 5KB
UsersList.asp 5KB
UsersRecycle.asp 5KB
Rights.asp 5KB
ClassList.asp 5KB
NewsEdit.asp 5KB
NewsEdit.asp 5KB
NewsList.asp 4KB
JobEdit.asp 4KB
ProductsRecycle.asp 4KB
NewsEdit.asp 4KB
ProductsList.asp 4KB
wenweninfor.asp 4KB
vip_askedit.asp 4KB
FilesList.asp 4KB
NewsRecycle.asp 4KB
FilesEdit.asp 4KB
NewsRecycle.asp 4KB
NewsRecycle.asp 4KB
NewsRecycle.asp 4KB
NewsList.asp 4KB
NewsList.asp 4KB
NewsList.asp 4KB
NewsList.asp 4KB
NewsRecycle.asp 4KB
NewsEdit.asp 4KB
Ballot.asp 4KB
Ballot.asp 4KB
NewsList.asp 4KB
Config.asp 4KB
BallotList.asp 4KB
BallotList.asp 4KB
vip_msgedit.asp 4KB
ucompany.asp 4KB
NewsRecycle.asp 4KB
BallotRecycle.asp 4KB
BallotRecycle.asp 4KB
FilesRecycle.asp 4KB
FilesRecycle.asp 4KB
NewsList.asp 4KB
NewsRecycle.asp 4KB
NewsEdit.asp 4KB
FilesList.asp 4KB
FilesList.asp 4KB
NewsRecycle.asp 4KB
NewsRecycle.asp 4KB
NewsEdit.asp 4KB
NewsEdit.asp 4KB
NewsList.asp 4KB
top_com.asp 4KB
NewsList.asp 4KB
MsgRecycle.asp 3KB
LinkRecycle.asp 3KB
JobRecycle.asp 3KB
userpwd.asp 3KB
MsgList.asp 3KB
LinkList.asp 3KB
LinkEdit.asp 3KB
JobList.asp 3KB
FilesEdit.asp 3KB
共 991 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10
资源评论
快乐无限出发
- 粉丝: 1135
- 资源: 7277
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功