3. * 官成文 2009-03-28
4. * http://blog.csdn.net/aprin/
5. * 注意:如果翻译文本为UTF-8编码,则要删去mb_convert_encoding函数
6. */
class Google_API_translator{
public $url = "http://translate.google.com/translate_t";
public $text = "";//翻译文本
public $out = ""; //翻译输出
function setText($text){
$this->text = $text;
}
function translate() {
$this->out = "";
$gphtml = $this->postPage($this->url, $this->text);
//提取翻译结果
$out = substr($gphtml, strpos($gphtml, "
"));
$out = substr($out, 29);
$out = substr($out, 0, strpos($out, "
")); $out = substr($out, 29);
$out = substr($out, 0, strpos($out, "
$this->out = $out;
return $this->out;
}
function postPage($url, $text) {
$html ='';
if($url != "" && $text != "") {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
/*
42. *hl - 界面语言,此处无用。
43. *langpair - src lang to dest lang
44. *ie - urlencode的编码方式?
45. *text - 要翻译的文本
46. */
$fields = array('hl=zh-CN', 'langpair=zh-CN|en', 'ie=UTF-8','text='.urlencode(mb_convert_encoding($text, 'UTF-8', 'GB2312')));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, implode('&', $fields));
$html = curl_exec($ch);
if(curl_errno($ch)) $html = "";
curl_close ($ch);
}
return $html;
}
}
//just for test
$g = new Google_API_translator();
$g->setText("我爱Java!");
$g->translate();
echo $g->out;
?>
没有评论:
发表评论