首先,你需要去有道翻译API官网去申请key:http://fanyi.youdao.com/openapi?path=data-mode

得到key之后,就可以开始从该API获得查询的数据了(返回json还是XML,看个人喜好,这里我用的是json)

下面我直接把responseMsg方法里,实现翻译的代码给出。如果你第一次接触微信API,不懂这个方法是干什么的,请去点击PHP微信开发之文本自动回复

 public function responseMsg(){

//get post data, May be due to the different environments

$postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //接收微信发来的XML数据

//extract post data

if(!empty($postStr)){

//解析post来的XML为一个对象$postObj

$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);

$fromUsername = $postObj->FromUserName; //请求消息的用户

$toUsername = $postObj->ToUserName; //"我"(订阅号)的公众号id

$keyword = trim($postObj->Content); //用户发给订阅号的消息内容

$time = time(); //时间戳

$msgtype = 'text'; //消息类型:文本

$textTpl = "

%s

";

if($postObj->MsgType == 'event'){ //如果XML信息里消息类型为event

if($postObj->Event == 'subscribe'){ //如果是订阅事件

$contentStr = "欢迎订阅misaka去年夏天!\n更多精彩内容:http://blog.csdn.net/misakaqunianxiatian";

$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgtype, $contentStr);

echo $resultStr;

exit();

}

}

$which = mb_substr($keyword, 0, 2, 'UTF-8');//获取要返回什么样的信息

if($which== "翻译"){ //如果要进行翻译

$fanyi = $which;

$search = str_replace($fanyi, '', $keyword); //要翻译的关键字

$key = ""; //在有道API申请的key

$keyfrom = ""; //与key对应

$url = 'http://fanyi.youdao.com/openapi.do?keyfrom=' . $keyfrom . '&key=' . $key . '&type=data&doctype=json&version=1.1&q=' . urlencode($search);//调用有道翻译API

$json = file_get_contents($url);//也可以用curl来获取

$res = json_decode($json, true);

/**

* 以下从返回的数据中提取翻译结果

*/

$contentStr = '【查询】' . $res['query'] . "\n";

$contentStr .= "【翻译】\n" . $res['translation'][0] . "\n";

$str = '';

foreach($res['basic']['explains'] as $v){

$str .= $v . "\n";

}

$contentStr .= "【基本释义】\n" . $str;

if(isset($res['web'])){

foreach($res['web'] as $kk=>$vv){

sort($vv);

$res['web'][$kk] = $vv; //调节字段顺序

}

$str = '';

foreach($res['web'] as $v){

foreach($v as $k2=>$v2){

if($k2 == 0){

$str .= "【". $v2 ."】\n";

}else{

foreach($v2 as $v3){

$str .= $v3 ."\n";

}

}

}

}

$contentStr .= "【网络释义】\n" . $str;

}

$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgtype, $contentStr);

echo $resultStr;

exit();

}

注:关注的订阅号返回的信息里要换行,要使用“\n”。在你的网站空间里,将你的代码修改一下,就可以给订阅号发送比如“翻译汉堡包”,订阅号会调用有道的API来返回翻译结果,可以中英文互译,也可以是句子。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网

php 有道翻译api,PHP微信开发之有道翻译相关推荐

  1. 基于Django和翻译API实现web版的中英文对照翻译(一)

    笔者经常需要翻译一些英文文档,但是试用了一些商业软件之后,一来觉得满足不了自己的翻译习惯,二来也是觉得对于个人来说,使用需要的收费的东西总是会有些顾忌. 一番了解之后,决定选用搜狗翻译/有道翻译官方提 ...

  2. python 翻译模块 翻译API使用(百度、有道、谷歌)

    1.翻译模块.api使用分析 1.translate库:使用简单,但是有次数限制,翻译的准确性中等: 2.百度api(推荐使用): 代码简单,有模块,但是需要注册,获取key值,翻译的准确性中下: 3 ...

  3. 百度通用翻译api在微信小程序中的使用

    关于百度通用翻译api,详细的信息可以参考通用翻译API技术文档 var q = 'count' var from = 'en'var to = 'zh'//注册获得appid和密匙var appid ...

  4. python百度翻译api申请网页版_python3调用百度翻译api接口实现全过程

    现在很都平台的翻译api接口都开始收费了,比如谷歌.微软.yandex等等,注册非常麻烦,而且要钱,目前就百度还剩下一个最基础的翻译api不需要钱,今天我要和大家分享的是怎样使用python3调用百度 ...

  5. 有道云笔记怎样与微信连接服务器,有道云笔记打通微信接口 文章永久保存多终端查看...

    近日,有道云笔记与微信达成合作,打通微信的收藏接口,微信中的文章.对话和图片,可一键导出到有道云笔记中,并永久保存.用户可以在不同平台,随时查看.编辑和管理从微信中保存的珍贵内容. 使用有道云笔记&q ...

  6. 中英文翻译功能 php,PHP微信开发之翻译功能

    本文主要为大家详细介绍了PHP微信开发之简单实现翻译的相关资料,感兴趣的小伙伴们可以参考一下.希望对大家有所帮助. 首先,你需要去有道翻译API官网去申请key:http://fanyi.youdao ...

  7. 百度翻译api 实现简易微信翻译小程序

    介绍 口袋翻译 口袋翻译 微信小程序 翻译功能 含7类语言的相互翻译 包含最近10条的翻译历史回溯功能 微信搜索:简e翻译 功能展示 使用百度翻译api 需要申请 appid 与 key 并在 api ...

  8. 在iPad上利用pythonista(python3.6)调用有道翻译API实现单词的批量翻译

    目录 准备工作 参考资料 代码 结果 原因:有很多单词要背,然后一开始一个一个查单词意思,令人智熄,于是心想批量翻译. 准备工作 一台装有pythonista的iPad (当然用电脑肯定是可以的,只不 ...

  9. 资源:网页翻译API(文档)

    文章目录 网页翻译API汇总 VS 技术储备 一.百度翻译API(文档) 1.1. 官方文档: 二.必应翻译API(文档) 2.1. 官方文档: 2.2. 资源: 三.Google在线翻译API(文档 ...

最新文章

  1. 《数学之美》第29章 各个击破算法和Google云计算的基础
  2. 使用mpvue开发小程序教程(二)
  3. stm32 温湿度_基于STM32单片机大棚温湿度检测无线蓝牙APP控制设计
  4. iOS 之 const
  5. 【渝粤教育】国家开放大学2018年秋季 0716-22T工程建设法规 参考试题
  6. java编程代写有哪些平台,学习路线+知识点梳理
  7. javascript 框架_每个JavaScript框架教程写的时间都超过5分钟
  8. gnome没有命令行_命令行提示,喜欢GNOME的8个理由,自动Raspberry Pi备份等
  9. 团队-爬虫豆瓣top250项目-模块开发过程
  10. Python+django网页设计入门(8):网站项目文件夹布局
  11. oracle 12c transaction guard,oracle 12c的Data guard中废弃
  12. Hibernate之复合主键映射
  13. 按键精灵html代码,最新按键精灵脚本代码大全 按键精灵命令运行方法
  14. cpu性能测试那个软件准,cpu对比测试软件 CPU性能测试软件推荐
  15. 华为手表广告营销案例和广告策划案例PPT模板
  16. hdu1175连连看
  17. 基金量化交易系统如何实现套利成功?
  18. table 超级详细的 商品订单列表
  19. 第三方应用调用高德地图
  20. MySql 存储boolean的数据

热门文章

  1. python画蝴蝶结_使用鸢尾花数据集,通过Sklearn,绘制精确率-召回率曲线—Python...
  2. oracle 合并多个不同结构的表_视频演示| 如何将多个工作簿合并为一张工作表
  3. 复杂海洋环境下运动目标回波信号建模及仿真
  4. 实现算命测八字获取节日的工具类-Lunar
  5. C++ 中生成随机数的代码
  6. 想从iOS转移到Android阵营?这里有你必须要知道的
  7. java 前后端解压缩字符串_接口实现后台GZIP压缩,pako.js 前端解压
  8. html 制作店招,灯箱标识(店招)怎么才能做出设计感?
  9. 红米note+html编辑器,红米Note7 Pro使用LineageOS 16问题备忘录
  10. markdown 各种符号