首页 > 开发 > PHP > 正文

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

2024-05-04 23:44:02
字体:
来源:转载
供稿:网友

这篇文章主要介绍了ThinkPHP调用百度翻译类实现在线翻译,需要的朋友可以参考下

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

undefined

action代码部分:

 

  1. <?php 
  2. class FanyiAction extends Action { 
  3. public function _empty(){  
  4.     header("HTTP/1.0 404 Not Found"); 
  5.     $this->display("Public:404");  
  6.   } 
  7. public function index() 
  8. $User = A("Index");  
  9. $User->head(); 
  10. $User->right(); 
  11. $User->footer(); 
  12. $this->display(); 
  13. public function fanyi() 
  14. $value=$_POST['value']; 
  15. $from="auto"
  16. $to="auto"
  17. $value_code=urlencode($value);  
  18. $appid="xxxxxxxx";//这里填写你在百度上申请的API key   
  19. $languageurl = "http://openapi.baidu.com/public/2.0/bmt/translate?client_id=" . $appid ."&q=" .$value_code. "&from=".$from."&to=".$to; 
  20. $text=json_decode($this->language_text($languageurl));  
  21. $text = $text->trans_result;  
  22. $rs=$text[0]->dst; 
  23. $this->assign('value',$value); 
  24. $this->assign('rs',$rs); 
  25. $User = A("Index");  
  26. $User->head(); 
  27. $User->right(); 
  28. $User->footer(); 
  29. $this->display(index); 
  30. public function language_text($url) //获取目标URL所打印的内容 
  31. {  
  32. if(!function_exists('file_get_contents'))  
  33. {   
  34. $file_contents = file_get_contents($url);  
  35. }  
  36. else  
  37. {  
  38. $ch = curl_init();  
  39. $timeout = 5;  
  40. curl_setopt ($ch, CURLOPT_URL, $url);  
  41. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);  
  42. curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);  
  43. $file_contents = curl_exec($ch);  
  44. curl_close($ch);  
  45. }   
  46. return $file_contents; 
  47. ?> 

html代码部分:


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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表