>  기사  >  백엔드 개발  >  PHP使用Google的translate API

PHP使用Google的translate API

WBOY
WBOY원래의
2016-05-19 14:05:172396검색

这里我还是接上话使用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的就这里,参见了部分同学的部分代码。具体忘了。

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.