PHP利用有道智云提供的API接口来翻译字符串

调用有道智云API实现在线翻译 具体步骤在有道官方文档有说明,如下链接,接下来就记录下自己整理的PHP代码,以防自己忘掉,啥也不说了一个字开整!
https://ai.youdao.com/docs/doc-trans-api.s#p04

< ? php
//在线翻译
$Chinese = “发卡器初始化失败,请检查发卡器连接并在发卡器配置界面重新配置。”;//调用PHP传入待翻译的字符串
f a n y i = t r a n s l a t e ( fanyi = translate( Chinese);
//var_dump($fanyi); //打印下看看是否翻译成功
//利用有道智云提供的API接口来翻译字符串 翻译中文到英文
//将请求参数中的 appKey,识别文本 q (注意为UTF-8编码),随机数 salt 和密钥 (可在 应用管理 查看), 按照 appKey+q+salt+密钥 的顺序拼接得到字符串 str。
//对字符串 str 做md5,得到32位大写的 sign (参考Java生成MD5示例)

//例子
//http://openapi.youdao.com/api?q=桌子&from=zh-CHS&to=en&appKey=5370a31d25dc964acb5&salt=2&sign=C89C268601E83A997E56FF7B46BCCBC8
function translate(KaTeX parse error: Expected '}', got 'EOF' at end of input: string) { if (string) {
$symbol_array = array(".", “?”, “!”, “)”, “(”, “[”, “]”, “{”, “}”, “:”);
$i = 0;
r e s u l t = &quot; &quot; ; w h i l e ( result = &quot;&quot;; while ( i < strlen(KaTeX parse error: Expected '}', got 'EOF' at end of input: … if (in_array(string[$i], $symbol_array)) {
$s = s t r i n g [ string[ i];
s t r i n g 1 = s u b s t r ( string1 = substr( string, 0, $i);
s t r i n g 2 = s u b s t r ( string2 = substr( string, $i + 1);
r e s u l t = s i m p l e t r a n s l a t e ( result = simple_translate( string1). s . t r a n s l a t e ( s.translate( string2);
break;
}
KaTeX parse error: Expected 'EOF', got '}' at position 8: i++; }̲ if (!result) {
r e s u l t = s i m p l e t r a n s l a t e ( result = simple_translate( string);
}
return KaTeX parse error: Expected 'EOF', got '}' at position 10: result; }̲ else { retu…sentence) {
$appKey = “5370a31d25dc964acb5”;//appKey 有道智云的应用ID

$salt = "8";//随机数 随便写
$miyao = "u5H9ZFBXIhA5P6zpE4NhCcBnWL4R14A5ll6";//秘钥

$str = md5($appKey.$sentence.$salt.$miyao);

$url_sentence = urlencode($sentence);
$url = 'http://openapi.youdao.com/api?q='.$sentence.'&from=zh-CHS&to=en&appKey='.$appKey.'&salt='.$salt.'&sign='.$str; //把例子组成url
																													   //var_dump($url);
$str_json = file_get_contents($url);
if ($str_json) {
	$info = json_decode($str_json);

	$translation = $info->translation;
	$result_sentence = $translation[0];
}
else {
	$result_sentence = $sentence;
}
var_dump($result_sentence);
return $result_sentence;

}
? >

猜你喜欢

转载自blog.csdn.net/tenggeer0789/article/details/88979496
今日推荐