google的翻译质量还是比较不错的,下面这个方法可以将中文的文字翻译成英文,至于其他的语言,只要稍作修改即可.
-
function translate($content)
-
{
-
//$content = "中华人民共和国";
-
$argv = array(
-
'text'=>$content);
-
//构造要post的字符串 <span id="more-144"></span>
-
foreach ($argv as $key=>$value)
-
{
-
if ($flag!=0)
-
{
-
$params .= "&";
-
$flag = 1;
-
}
-
$params.= $key."="; $params.= urlencode($value);
-
$flag = 1;
-
}
-
$length = strlen($params);
-
$fp = fsockopen("www.google.com",80,$errno,$errstr,10)
-
or exit($errstr."—>".$errno);
-
$header = "POST /translate_t?langpair=zh|en HTTP/1.1\r\n";
-
$header .= "Host:translate.google.com\r\n";
-
$header .= "Referer:/translate_t\r\n";
-
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
-
$header .= "Content-Length: ".$length."\r\n";
-
$header .= "Connection: Close\r\n\r\n";
-
$header .= $params."\r\n";
-
fputs($fp,$header);
-
$inheader = 1;
-
$result = '';
-
while (!feof($fp))
-
{
-
$line = fgets($fp,1024);
-
if ($inheader && ($line == "\n" || $line == "\r\n"))
-
{
-
$inheader = 0;
-
}
-
if ($inheader == 0)
-
{
-
$result .= $line;
-
}
-
}
-
$start = "<div id=result_box dir=\"ltr\">";
-
$end = "</div></td></tr><tr><td class=submitcell>";
-
$result = getSubContent($result,$start,$end);
-
return $result;
-
}
欢迎发表评论