ThinkPHP调用百度翻译类实现在线翻译

要实现Thinkphp在线翻译功能,需要先在百度开发者中心注册一个API key,具体实现代码如下:

action代码部分:

<?phpclass FanyiAction extends Action {public function _empty(){     header("HTTP/1.0 404 Not Found");    $this->display("Public:404");   }public function index(){$User = A("Index"); $User->head();$User->right();$User->footer();$this->display();}public function fanyi(){$value=$_POST['value'];$from="auto";$to="auto";$value_code=urlencode($value); $appid="xxxxxxxx";//这里填写你在百度上申请的API key  $languageurl = "http://openapi.baidu.com/public/2.0/bmt/translate?client_id=" . $appid ."&q=" .$value_code. "&from=".$from."&to=".$to;$text=json_decode($this->language_text($languageurl)); $text = $text->trans_result; $rs=$text[0]->dst;$this->assign('value',$value);$this->assign('rs',$rs);$User = A("Index"); $User->head();$User->right();$User->footer();$this->display(index);}public function language_text($url) //获取目标URL所打印的内容{ if(!function_exists('file_get_contents')) {  $file_contents = file_get_contents($url); } else { $ch = curl_init(); $timeout = 5; curl_setopt ($ch, CURLOPT_URL, $url); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $file_contents = curl_exec($ch); curl_close($ch); }  return $file_contents;}}?>

html代码部分:

<div id="content"><div style="padding:5px;"><form action="__APP__/fanyi/" method="POST" name="fanyi"><p>原文:</p><textarea name="value" id="yuanwen" rows="10" cols="80" style="padding:5px;width: 661px; height: 217px;">{$value}</textarea><input type="submit" class="search-submit" value="翻 译" style="text-align:center;">    <input type="reset" onclick="reset()" class="search-submit" value="清 空" style="text-align:center;"></form><p>译文:</p><textarea name="rs" id="yiwen" rows="10" cols="80" style="padding:5px;width: 661px; height: 217px;">{$rs}</textarea> </div></div>

php技术ThinkPHP调用百度翻译类实现在线翻译,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。