PHP微信開(kāi)發(fā)之有道翻譯_php實(shí)例
Jul 06, 2016 pm 01:32 PM首先,你需要去有道翻譯API官網(wǎng)去申請(qǐng)key:http://fanyi.youdao.com/openapi?path=data-mode
得到key之后,就可以開(kāi)始從該API獲得查詢(xún)的數(shù)據(jù)了(返回json還是XML,看個(gè)人喜好,這里我用的是json)?
下面我直接把responseMsg方法里,實(shí)現(xiàn)翻譯的代碼給出。如果你第一次接觸微信API,不懂這個(gè)方法是干什么的,請(qǐng)去點(diǎn)擊PHP微信開(kāi)發(fā)之文本自動(dòng)回復(fù)
public function responseMsg(){ //get post data, May be due to the different environments $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //接收微信發(fā)來(lái)的XML數(shù)據(jù) //extract post data if(!empty($postStr)){ //解析post來(lái)的XML為一個(gè)對(duì)象$postObj $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $fromUsername = $postObj->FromUserName; //請(qǐng)求消息的用戶(hù) $toUsername = $postObj->ToUserName; //"我"(訂閱號(hào))的公眾號(hào)id $keyword = trim($postObj->Content); //用戶(hù)發(fā)給訂閱號(hào)的消息內(nèi)容 $time = time(); //時(shí)間戳 $msgtype = 'text'; //消息類(lèi)型:文本 $textTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>"; if($postObj->MsgType == 'event'){ //如果XML信息里消息類(lèi)型為event if($postObj->Event == 'subscribe'){ //如果是訂閱事件 $contentStr = "歡迎訂閱misaka去年夏天!\n更多精彩內(nèi)容: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== "翻譯"){ //如果要進(jìn)行翻譯 $fanyi = $which; $search = str_replace($fanyi, '', $keyword); //要翻譯的關(guān)鍵字 $key = ""; //在有道API申請(qǐng)的key $keyfrom = ""; //與key對(duì)應(yīng) $url = 'http://fanyi.youdao.com/openapi.do?keyfrom=' . $keyfrom . '&key=' . $key . '&type=data&doctype=json&version=1.1&q=' . urlencode($search);//調(diào)用有道翻譯API $json = file_get_contents($url);//也可以用curl來(lái)獲取 $res = json_decode($json, true); /** * 以下從返回的數(shù)據(jù)中提取翻譯結(jié)果 */ $contentStr = '【查詢(xún)】' . $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; //調(diào)節(jié)字段順序 } $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 .= "【網(wǎng)絡(luò)釋義】\n" . $str; } $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgtype, $contentStr); echo $resultStr; exit(); }
注:關(guān)注的訂閱號(hào)返回的信息里要換行,要使用“\n”。在你的網(wǎng)站空間里,將你的代碼修改一下,就可以給訂閱號(hào)發(fā)送比如“翻譯漢堡包”,訂閱號(hào)會(huì)調(diào)用有道的API來(lái)返回翻譯結(jié)果,可以中英文互譯,也可以是句子。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

AI? ??? ??? ?? ?? ? ?? ???? ????? ?? ??? ??????. 1. Baidu, Tencent API ?? ?? ?? NLP ?????? ?? ??? AI ?? ?? API? ??????. 2. PHP? ? ?? guzzle? ?? API? ???? ?? ??? ??????. 3. ?? ????? ?? ?? ??? ???? ???? ???? ??? ??? ? ????. 4. ?? ?? ? ?? ???? ?? PHP-L ? PHP_CODESNIFFER? ??????. 5. ???? ????? ???? ?? ?? ??? ?????? ??? ??????. AIAPI? ??? ? ???, ?? ??, ?? ? PHP ?? ??? ??? ???. ?? ???? PSR ??? ???, ??? ????? ????, ?? ??? ???, ????? ??? ????, X? ???????.

PhpisstillRelevantinmodernenterpriseenvironments.1. Modernphp (7.xand8.x)? ??? ??, ??? ??, jitcompilation ? modernsyntax, mateitsuilableforlarge-scalepplications

N 1 ?? ??? ??? ?? ???? ?????? ?????? ?? ?? ????. 2. ???? ???? ???? ?? ??? ???????? ??? ??? ?? ? ??????. 3. ??? 2 ? ?? ?? Redis ?? ??? ?? ??? ?? ?? ??? ????? ??????. 4. ??? ????? ????? ????? Clear ()? ???? ???? ?????? ??? ????? ?????. 5. ?????? ??? ????? ???? ???? ? ??? ??? ?? ?? ? SQL ?? ??????. 6. ?? ??? ???? ?? ?????? ?? ?? ??? ?????? ?? ?? ?? ??? ???? ??? ??????. ORM? ???? ????? ?? ??? ????? ?? ???? ??? ???? ?? SQL ????, ??, ?? ?? ? ??? ???? ???????.

??? PHP ???? ???? ????? RabbitMQ? ???? ??? ??? ???? 1. ????? ??? ??? ?? ??? ???? ?? ???? ???????. 2. ???? ???? ?? ???? ???, ???? ???, ?? ? ?? ACK? ?????. 3. ?? ? ?? ? ??, TTL ? ?? ?? ? ?? ?? ??? ??????. 4. Supervisord? ?? ??? ???? ??? ????? ???? ??? ??? ???? ?? ?? ?? ????? ???????. ??? ????? ???? ??? ????? ???? ??? ?????.

Subprocess.run ()? ???? ? ??? ???? ???? ??? ??????. ?? ??? ??? ?? ??? ?? ??? ???? ?? ????. 2. ? ??? ??? ??, shell = true? ??? ? ??? ?? ??? ??????. 3. ?? ????? ???? ??? ?? ??? ??????. 4. SET Check = ??? ?? ? ? ??? ??? ?? true; 5. ??? ?????? ??? ?? ???? ??? ?? ? ????. OS.System () ?? ? ?? ???? ?? ??? ???? ???? ?? ???? Subprocess.run ()? ?? ??? ???????. ?? ??? ????? ? ??? ???? ?? ??? ?????.

??? PHP ?? ???? ???? ???? ?? ??? ? Docker ??? ???? ?? ?? ????? ?????. 1. PHP : 8.3-fpm-alpine? ?? ???? ???? ?? ??? ??? ??? ??????. 2. ??? ?? php.ini? ?? ??? ??? ??????, ?? ??? ??, Opcache ? JIT? ????? ?? ? ??? ??????. 3. Nginx? ??? ???? ???? ??? ??? ?? ???? ???? PHP ??? PHP-FPM?? ???? ?????. 4. ??? ??? ???? ???? ?? ???? ???? ????? ????? ??? ?? ???? ??????. 5. CRON? ?? ?? ????? ?????? ??? ?? ??; 6. ?? ?? ??? ?? ??? ??? ??????

settings.json ??? ??? ?? ?? ?? ?? ?? ??? ??? VSCODE ??? ??? ???? ? ?????. 1. ??? ?? ?? : Windows? C : \ Users \\ AppData \ Roaming \ Code \ User \ Settings.json, MacOS IS /users//library/applicationsupport/code/user/settings.json, linux? /home//.config/code/user/settings.json; 2. Workspace ?? ?? : .vscode/settings project root ????

PHP? ??? ?? ????? ?? ??? ??????????? ?? ??? ???? ?? ?? ??? ????????. 1. ?? ??? ??? ?? ??? ?? ? ?? ???? ?????. 2. ?? ???? ???? ???? ?? ? ? ???? GC? ?? ????? ???? ?????. 3. "??? ??"zval? ?? ?? ????? ???? GC_COLLECT_CYCLES ()? ?? ? ? GC? ??????. 4. ?? ?? PHP ?? ????? ??? ??? ??? ?? GC_STATUS ()? ?????? GC_COLLECT_CYCLES ()? ? ??? ???????. 5. ?? ???? ?? ??? ??? GC_DISABLE ()? ???? ?? ? ??? ????? ORM? CLER () ???? ?? DeReeference ??? ?????.
