PHP Google的translate API代码

2015-01-24信息快讯网

这里我还是接上话使用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 = "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; 
} 
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的就这里,参见了部分同学的部分代码。具体忘了。
这段代码不好。。。但可以用,懒得管啦。。
php下关于Cannot use a scalar value as an array的解决办法
PHP Stream_*系列函数
PHP中的float类型使用说明
PHP中的string类型使用说明
PHP STRING 陷阱原理说明
php下使用strpos需要注意 === 运算符
php HtmlReplace输入过滤安全函数
PHP extract 将数组拆分成多个变量的函数
joomla内置的表单验证功能使用方法
php中static静态变量的使用方法详解
php Static关键字实用方法
PHP similar_text 字符串的相似性比较函数
Joomla下利用configuration.php存储简单数据
php 随机记录mysql rand()造成CPU 100%的解决办法
php 提速工具eAccelerator 配置参数详解
DedeCMS dede_channeltype表字段注释
PHP has encountered an Access Violation 错误的解决方法
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
快速开发一个PHP扩展图文教程
php escape URL编码
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
PHP strtr() 函数使用说明
PHP中str_replace函数使用小结
php preg_match_all结合str_replace替换内容中所有img
Cannot modify header information错误解决方法
使用eAccelerator加密PHP程序
PHP base64+gzinflate压缩编码和解码代码
wiki-shan写的php在线加密的解密程序
IStream与TStream之间的相互转换
php-accelerator网站加速PHP缓冲的方法
flash+php+mysql打造简单留言本教程第1/3页
PHP中的extract的作用分析
php出现Cannot modify header information问题的解决方法大全
How do I change MySQL timezone?
©2014-2024 dbsqp.com