📄 summary+search_edit.cgi
字号:
#!"C:\Program Files\xampp\perl\bin\perl.exe"
# =============================================
# Search dan Summarization
# =============================================
# TA TKI
# Nama: Nyimas Dewi Kresnaningsih
# NRP: G64076045
# =============================================
$filename="korpus.txt";
sub populatePostFields {
%postFields = ();
read( STDIN, $tmpStr, $ENV{ "CONTENT_LENGTH" } );
@parts = split( /\&/, $tmpStr );
foreach $part (@parts) {
( $name, $value ) = split( /\=/, $part );
$value =~ ( s/%23/\#/g );
$value =~ ( s/%2F/\//g );
$postFields{ "$name" } = $value;
}
}
&populatePostFields;
$expand_key = $postFields{ "id" };
$firstName = $postFields{ "fname" };
$query_key = $postFields{ "keyword" };
$q_text_search = $postFields{ "keyword" };
$q_text_search =~ tr/+/ /;
$null ="";
print "Content-type: text/html\n\n";
print '
<html>
<head>
<title>Search document related to '.$q_text_search.'</title>
<style>
body{background:white;color:black;margin:3px 8px}
h1{font-size:45pt;font-family:Rage Italic,Bradley Hand ITC,Magneto,calibri;margin:0;padding:0}
body,html,h2,td{font-size:small;font-family:calibri,arial,sans-serif}
</style>
</head>
<body>';
print '
<table cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<table cellpadding="0" cellspacing="0" >
<tr>
<form name="cari" method="POST" action="">
<td> </td>
<br>
<td ><input size="35" name="keyword" value="'.$q_text_search.'"/> <input type="submit" value="search" width="32" /></td>
</form>
</tr>
</table>
</td>
</tr>
<tr><td>
<br>
<table width="100%" bgcolor="#B8FEFF">
<tr>
<td width="50%">
keyword :<b> '.$q_text_search.'</b>
</td>
<td width="50%" align="right">
search and summarization on file <b>'.$filename.'</b>
</td>
</tr>
</table>
</td></tr>
</table>
';
if($query_key =~ m/^$null$/){
print '
<table align="center">
<tr>
<td align="center">
<font size="3pt"><b>Enter your keyword and begin to search related document(s)</b></font>
</td>
</tr>
</table>';
}
else{
$get = $query_key;
$get =~ tr/[A-Z]/[a-z]/;
$get =~ s/^[+]+//g;
$get =~ s/[+]+$//g;
$get =~ s/[!.,()*]|\"//g;
@query = split(/[+]+/, $get);
%hashDoc = ();
%hashTitle = ();
open (IN, $filename);
while(<IN>){
if(/<DOC>/){
$docCnt++;
$hashDoc{$docCnt}=0;
}
}
close(IN);
$idDoc = 0;
open (IN, $filename);
while(<IN>){
if(/<DOC>/){
$idDoc++;
$penambah=1;
$idParagraf=0;
}
elsif(/^</){
if(/<TITLE>.*<\/TITLE*>/){
s/<[A-Z]*>//g;;
s/<\/[A-Z]*>//g;
s/^\s//g;
s/\s$//g;
s/[!.,()*]|\"//g;
tr/[A-Z]/[a-z]/;
@title = split(/\s+/, $_);
$hashTitle{$idDoc} = $_;
foreach $t (@title){
foreach $q (@query){
if($t =~ m/^$q$/){
$hashDoc{$idDoc} ++;
}
}
}
}
elsif(/<\/DOC*>/){
$i=0;
foreach $key(sort{$hashHasil{$b}<=>$hashHasil{$a}}keys %hashHasil){$i++;
if ($i<=2){
$TheParagraf{$idDoc}=$TheParagraf{$idDoc}.$hashParagraf{$key};
}
}
%hashHasil=();
}
}else{
$idParagraf++;
s/^\s//g;
s/\s$//g;
s/[!.,()*]|\"//g;
tr/[A-Z]/[a-z]/;
@textKata = split(/\s+/, $_);
$hashParagraf{$idParagraf}=$_;
foreach $tk (@textKata){
foreach $q (@query){
if($tk =~ m/^$q$/){
$a = $hashDoc{$idDoc};
$a += 0.5;
$hashDoc{$idDoc} = $hashDoc{$idDoc}+$penambah;
$hashHasil{$idParagraf}=$hashHasil{$idParagraf}+$penambah;
}
}
}
}$penambah=$penambah-0.1;
}
}
close(IN);
#THE OUTPUT
foreach $key(sort{$hashDoc{$b}<=>$hashDoc{$a}}keys %hashDoc){
if ($hashDoc{$key}=="0"){}else{
#print '<font color="blue" size=3>'.$hashTitle{$key}.'<br></font><font color="green">Dokumen ke-<b>'.$key.'</b> dengan nilai kemiripan = <b>'.$hashDoc{$key}.'</b></font><br><br>';
print '<br><font color="blue" size=3><b>'.$hashTitle{$key}.'</b><br></font>
<font color="green">Dokumen ke -<b>'.$key.'</b></font>
<br>
<font>'.$TheParagraf{$key}.'</font><br><br>';
}
}print'<hr size="1" color="#B8FEFF">';
print '</body></html>';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -