這篇文章主要介紹了ThinkPHP調(diào)用百度翻譯類實(shí)現(xiàn)在線翻譯,需要的朋友可以參考下
要實(shí)現(xiàn)ThinkPHP在線翻譯功能,需要先在百度開發(fā)者中心注冊一個(gè)API key,具體實(shí)現(xiàn)代碼如下:
undefined
action代碼部分:
- <?php
- class 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";//這里填寫你在百度上申請(qǐng)的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) //獲取目標(biāo)URL所打印的內(nèi)容
- {
- 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;
- }
- }
- ?>
- <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>
新聞熱點(diǎn)
疑難解答