In diesem Artikel werden hauptsächlich relevante Informationen zur einfachen Implementierung der Übersetzung in der PHP-WeChat-Entwicklung vorgestellt. Interessierte Freunde können darauf verweisen. Ich hoffe, es hilft allen.
Zunächst müssen Sie auf die offizielle Website der Youdao Translation API gehen, um einen Schlüssel zu beantragen: http://fanyi.youdao.com/openapi?path=data-mode
Nach Erhalt Mit dem Schlüssel können Sie mit der Verwendung der API beginnen. Die abgefragten Daten werden abgerufen (JSON oder XML zurückgeben, je nach persönlicher Vorliebe, hier verwende ich JSON).
Im Folgenden werde ich direkt den Code zum Implementieren der Übersetzung in der ResponseMsg-Methode angeben. Wenn Sie zum ersten Mal mit der WeChat-API in Kontakt kommen und nicht verstehen, was diese Methode bewirkt, klicken Sie bitte auf PHP WeChat Development Text Automatic Reply
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 = "<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信息里消息类型为event if($postObj->Event == 'subscribe'){ //如果是订阅事件 $contentStr = "欢迎"; $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(); }
Hinweis: Die vom Abonnement zurückgegebenen Informationen Für das Konto, dem Sie folgen, muss ein Zeilenumbruch erfolgen. Verwenden Sie „n“. Ändern Sie in Ihrem Website-Bereich Ihren Code und senden Sie eine Nachricht wie „Translation Hamburger“ an das Abonnementkonto. Das Abonnementkonto ruft die API von Youdao auf, um die Übersetzungsergebnisse zurückzugeben, bei denen es sich um Chinesisch-Englisch-Übersetzungen oder Sätze handeln kann.
Verwandte Empfehlungen:
Holen Sie sich Stadtwetter für die PHP-WeChat-Entwicklung
Antwort auf die WeChat-Entwicklungsvorlage auf Nachrichten
Das obige ist der detaillierte Inhalt vonVon PHP WeChat entwickelte Übersetzungsfunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!