|
- /* 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("我爱php100!");
- $g->translate();
- echo $g->out;
- ?>
复制代码 |
|