|
这里我还是接上话使用Google的translate工具翻译 .NET translate API的一篇文字,上篇是c#实现的,我这里再用PHP实现一下。
新建一个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; } } ?>
使用的时候 复制代码 代码如下: $g = new Google_API_translator(); $g->setOpts(array("text" => "Cjjer是天才", "language_pair" => "zh-CN|en")); $g->translate(); echo $g->out; ?>
这样就可以了,输出:Cjjer is genius PHP的就这里,参见了部分同学的部分代码。具体忘了。 这段代码不好。。。但可以用,懒得管啦。。 |
|