Home >php教程 >PHP源码 >Google翻译接口(PHP API)

Google翻译接口(PHP API)

PHP中文网
PHP中文网Original
2016-05-25 17:14:091324browse


/* Google翻译PHP接口
 * 官成文 2009-03-28
 * http://blog.csdn.net/aprin/
 * 注意:如果翻译文本为UTF-8编码,则要删去mb_convert_encoding函数
 */ 

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, “
 
“)); 

$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); 

/*
 *hl – 界面语言,此处无用。
*langpair – src lang to dest lang
 *ie – urlencode的编码方式?
 *text – 要翻译的文本
*/
 $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;
 ?>

                   

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