先日英和辞典のウェブアプリについて紹介しましたが、
一応和英辞典についてもソースを公開しておきます。
使うデータは同じ英辞郎のバージョン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">
<?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>
<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";
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>
<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 件のコメント:
コメントを投稿