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

Gail ·
更新时间:2024-09-21
· 637 次阅读

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

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";//这里填写你在百度上申请的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="翻&nbsp;译" style="text-align:center;"> &nbsp;&nbsp;&nbsp;&nbsp; <input type="reset" onclick="reset()" class="search-submit" value="清&nbsp;空" 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> 您可能感兴趣的文章:基于laravel制作APP接口(API)详解Laravel5.6 Passport实现Api接口认证基于Laravel Auth自定义接口API用户认证的实现方法让Laravel API永远返回JSON格式响应的方法示例详解laravel安装使用Passport(Api认证)PHP使Laravel为JSON REST API返回自定义错误的问题Laravel+Dingo/Api 自定义响应的实现Laravel 5.5中为响应请求提供的可响应接口详解Laravel框架实现修改登录和注册接口数据返回格式的方法php使用百度翻译api示例分享Laravel框架实现调用百度翻译API功能示例



ThinkPHP 在线翻译

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章