|
要实现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调用百度翻译类实现在线翻译,转载需保留来源!
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。