2007年9月9日日曜日

和英辞典


先日英和辞典のウェブアプリについて紹介しましたが、

一応和英辞典についてもソースを公開しておきます。

使うデータは同じ英辞郎のバージョン79です。

 

以下の2つのファイルと英和辞典データ"waeiji79.txt"を同一ディレクトリに置き、

phpで実行できるようにするだけです。

 

$ vi index.html
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<meta http-equiv="Cache-Control" content="max-age=2592000" />
<title>和英辞典</title>
</head>
<body>
<form action="s.php" method="post">
<input type="text" name="s" value="" format="*M" />
<select name="t" size="1">
<option value="0" selected>init</option>
<option value="1">match</option>
<option value="2">include</option>
</select>
<input type="submit" value="search" />
</form>
</body>
</html>

$ vi s.php

<?
 header("Content-Type: text/html; charset=Shift_JIS");
 print "<?xml version=\"1.0\" encoding=\"Shift_JIS\">\n";
 print "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML Basic 1.0//EN\" \"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd\">\n";

?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<meta http-equiv="Cache-Control" content="no-cache" />
<title>検索結果</title>
</head>
<body>
<?
 $f="waeiji79.txt";
 $t=escapeshellcmd($_POST[t]);
 $c=escapeshellcmd($_POST[s]);
 if($t==0) // init
  $r=`grep -e '^■$c ' $f | perl -pe 's/\n/<br \/>\n/'`;
 if($t==1) // match
  $r=`grep -e '[ ■]$c ' $f | perl -pe 's/\n/<br \/>\n/'`;
 if($t==2) // include
  $r=`grep -i $c $f | perl -pe 's/\n/<br \/>\n/'`;
 print "$r";
?>
</body>
</html>

 

0 件のコメント:

コメントを投稿