<?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 = '" . preg_replace( "/['\\\\]/", "\\\\$0", $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] );
// Strip all tags for the text. (by FredCK - #339 / #681)
$text = preg_replace( "/<[^>]+>/", " ", $text ) ;
$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.net的在线挂号系统(源码+数据库).rar
共456个文件
gif:227个
html:51个
js:37个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 74 浏览量
2023-02-03
22:53:40
上传
评论
收藏 2.18MB RAR 举报
温馨提示
使用说明:将源码部署到iis服务器上,将脚本附加sql server数据库,修改数据库连接语句,调试运行。
资源推荐
资源详情
资源评论
收起资源包目录
基于asp.net的在线挂号系统(源码+数据库).rar (456个子文件)
201001 1.58MB
head.ascx 7KB
config.ascx 5KB
Foot.ascx 2KB
yuyue.aspx 12KB
Updatezhuanjia.aspx 11KB
Addzhuanjia.aspx 9KB
Reg2.aspx 8KB
showZhuanjia.aspx 7KB
keshi.aspx 7KB
MMyinfo.aspx 7KB
Default.aspx 7KB
zhuanjiaList.aspx 6KB
zhuanjiayuyue.aspx 5KB
LeftFrame.aspx 5KB
UserList.aspx 5KB
keshiList.aspx 4KB
AdminUserShow.aspx 4KB
Mygauhao.aspx 4KB
Search.aspx 4KB
UserShow.aspx 4KB
ZhuanjiaList.aspx 4KB
Mpwd.aspx 3KB
Reg1.aspx 3KB
Login.aspx 2KB
TopFrame.aspx 2KB
TopFrame.aspx 2KB
middleFrame.aspx 1KB
connector.aspx 1KB
upload.aspx 1KB
MainFrame.aspx 1KB
Index.aspx 1KB
VaildImg.aspx 597B
qxyy.aspx 437B
nopic.bmp 89KB
spellchecker.cfm 5KB
Web.Config 2KB
MainFrame.aspx.cs 11KB
VaildImg.aspx.cs 8KB
keshi.aspx.cs 7KB
Updatezhuanjia.aspx.cs 6KB
Addzhuanjia.aspx.cs 4KB
head.ascx.cs 4KB
SqlHelper.cs 3KB
yuyue.aspx.cs 3KB
zhuanjiaList.aspx.cs 3KB
zhuanjiayuyue.aspx.cs 3KB
UserList.aspx.cs 3KB
showZhuanjia.aspx.cs 2KB
upload.cs 2KB
Alert.cs 2KB
UserShow.aspx.cs 2KB
Login.aspx.cs 2KB
Mpwd.aspx.cs 2KB
MMyinfo.aspx.cs 1KB
AdminUserShow.aspx.cs 1KB
Search.aspx.cs 1KB
Reg2.aspx.cs 1KB
keshiList.aspx.cs 1KB
Default.aspx.cs 891B
Mygauhao.aspx.cs 754B
ZhuanjiaList.aspx.cs 725B
Reg1.aspx.cs 674B
qxyy.aspx.cs 668B
TopFrame.aspx.cs 555B
LeftFrame.aspx.cs 536B
TopFrame.aspx.cs 421B
middleFrame.aspx.cs 413B
Foot.ascx.cs 412B
Index.aspx.cs 410B
Style.css 10KB
moban.css 10KB
indexzi.css 8KB
fck_editor.css 8KB
fck_editor.css 8KB
fck_editor.css 8KB
index.css 7KB
fck_dialog.css 6KB
fck_dialog.css 6KB
fck_dialog.css 6KB
fck_internal.css 4KB
css.css 4KB
fck_editorarea.css 3KB
style.css 2KB
fck_dialog_common.css 2KB
fck_showtableborders_gecko.css 2KB
browser.css 2KB
spellerStyle.css 890B
FredCK.FCKeditorV2.dll 44KB
dlright.gif 161KB
78fc4f1e-3787-4fca-8c8c-ce0313182614.gif 48KB
baner.gif 32KB
dltop.gif 21KB
d15.gif 17KB
loginbg.gif 16KB
fck_strip.gif 9KB
fck_strip.gif 5KB
fck_strip.gif 5KB
d19.gif 5KB
d9.gif 5KB
共 456 条
- 1
- 2
- 3
- 4
- 5
资源评论
等天晴i
- 粉丝: 3386
- 资源: 10万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功