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

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> 


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