PHP使用Google的translate API,实现翻译功能

新建一个ANSI的PHP文件,然后创建一个类:

header(“Content-Type: text/html; charset=utf-8”);

class Google_API_translator{
public $opts = array(“text” => “”, “language_pair” => “en|it”);
public $out = “”;

function setOpts($opts) {
if($opts[“text”] != “”) $this->opts[“text”] = $opts[“text”];
if($opts[“language_pair”] != “”) $this->opts[“language_pair”] = $opts[“language_pair”];
}

function translate() {
$this->out = “”;
$google_translator_url = “http://translate.google.com/translate_t?langpair=”.urlencode($this->opts[“language_pair”]).”&;”;
$google_translator_data .= “text=”.urlencode($this->opts[“text”]);
$gphtml = $this->postPage(array(“url” => $google_translator_url, “data” => $google_translator_data));
$out = substr($gphtml, strpos($gphtml, ”

“));
$out = substr($out, 29);
$out = substr($out, 0, strpos($out, ”
“));
$this->out = utf8_encode($out);
return $this->out;
}

function postPage($opts) {
$html =”;
if($opts[“url”] != “” && $opts[“data”] != “”) {
$ch = curl_init($opts[“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);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $opts[“data”]);
$html = curl_exec($ch);
if(curl_errno($ch)) $html = “”;
curl_close ($ch);
}
return $html;
}
}
?>

使用的时候

setOpts(array(“text” => “Cjjer是天才”, “language_pair” => “zh-CN|en”));
$g->translate();
echo $g->out;
?>

PHP使用Google的translate API,实现翻译功能》上有1条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注