分享按钮

百度翻译

默认分类 / 2704人浏览 / 0人评论

/**

 * 使用POST发送数据

 * @param  string $url  目标地址

 * @param  array  $data 发送数据

 * @param  string $ua   用户代理

 * @return string       响应数据

 */

function post($url = '', $data = [], $ua = '')

{

    $ch = curl_init($url);

    curl_setopt_array($ch, [

        CURLOPT_POSTFIELDS     => $data,

        CURLOPT_USERAGENT      => $ua,

        CURLOPT_RETURNTRANSFER => true,

        CURLOPT_SSL_VERIFYPEER => false,

    ]);

    return curl_exec($ch);

}


/**

 * 判断语种

 * @param  str $query 查询语句

 * @return str        语种

 */

function langdetect($query)

{

    foreach (explode("\n", $query) as $v) {

        $v = trim(substr($v, 0, 50));

        if ($v) {

            return json_decode(post('https://fanyi.baidu.com/langdetect', [

                'query' => $v,

            ]))->lan;

        }

    }

}


/**

 * 默认汉翻英,其他翻汉

 * @param  string $query 查询语句

 * @param  string $to    目标语种

 * @return string        翻译结果

 */

function fanyi($query = '', $to = 'zh')

{

    $from = langdetect($query);

    if ($from == 'zh' && $to == 'zh') {

        $to = 'en';

    }

    return post('https://fanyi.baidu.com/basetrans', [

        'query' => $query,

        'from'  => $from,

        'to'    => $to,

    ], 'Android');

}


// echo fanyi($_POST['query'], $_POST['to']);

$str = '

这是一条测试语句,

这是第二条测试语。

';

foreach (json_decode(fanyi($str))->trans as $v) {

    echo $v->dst, "\n";

}


?>


感谢博主,喝杯咖啡~