Home  >  Article  >  Backend Development  >  PHP使用Google的translate API

PHP使用Google的translate API

WBOY
WBOYOriginal
2016-05-19 14:05:172325browse

这里我还是接上话使用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 = "opts["language_pair'>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;
   }
   http://bizhi.cncms.com
   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的就这里,参见了部分同学的部分代码。具体忘了。

这段代码不好。。。但可以用,懒得管啦。。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn