Chinaunix首页 | 论坛 | 博客
  • 博客访问: 95560
  • 博文数量: 109
  • 博客积分: 3411
  • 博客等级: 中校
  • 技术积分: 1155
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-01 09:04
文章分类

全部博文(109)

文章存档

2011年(109)

分类: 系统运维

2011-05-28 14:13:08


/* Google翻译PHP接口

 * 注意:如果翻译文本为UTF-8编码,则要删去mb_convert_encoding函数

 */

class Google_API_translator {

 public $url = “”;

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;

?>

 

阅读(496) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~