PHP:
<?php
$fp = fopen("wordnet.txt",'rb');
if($fp == false)
{
die("open src_file error");
}
$wfp = fopen("wordnet2.txt",'a');
if($wfp == false)
{
die("open obj_file eror");
}
$patten = "/\[\((see-also|derivation|hypernym|synonym|antonym|hyponym|similar|see-also|classification|slang|part-holonym|part-meronym|verb-group|cause|member-holonym|member-meronym|attribute|pertainym|substance-holonym|entail|class)\)(.*)\]\]\>\<\/解释项\>/";
$i = 1;
while (!feof($fp))
{
$order = fgets($fp);
if(preg_match($patten , $order , $matches))
{
$sep = ", ";
$arr = explode("," , $matches[2]);
$num = count($arr);
if($matches[1] == "antonym")
{
$str = "";
foreach($arr as $key=>$val)
{
if(($key+1)==$num)
{
$sep = "";
}
$str .= "<a href='search?=".trim($val)."'>".trim($val)."</a>$sep";
}
}
else
{
$str = "";
foreach($arr as $key=>$val)
{
if(($key+1)==$num)
{
$sep = "";
}
$str .= "<a href='search?=".trim($val)."'>".trim($val)."</a>$sep";
}
}
$line_str = "<解释项><![CDATA[($matches[1]) $str]]></解释项>\r\n";
fwrite($wfp,$line_str);
}
else
{
fwrite($wfp,$order);
}
$i++;
if($i%5000=1)
{
echo($i."\n");
}
}
echo("finished");
fclose($fp);
?>
