PHP调用谷歌翻译

2021-02-10 14:16

阅读:587

标签:ror   port   tac   init   调用   ids   red   html   client   

php
/*class Google_API_translator {

    public  $url = "http://translate.google.com/translate_t";

    public $text = "";//带翻译内容

    public $out  = "";//输出内容

    public function setText($text)
    {
        $this->text = $text;
    }


    public function translate()
    {
        $this->out = "";

        $gphtml = $this->postPage($this->url,$this->text);
        var_dump($gphtml);exit;

        //提取翻译结果
        $out  = substr($gphtml,strpos($gphtml,‘‘));

        $out = substr($out,29);

        $out  = substr($out,0,strpos($out,‘‘));

        $this->out = $out;

        return $this->out;

    }

    public  function  postPage($url,$text)
    {
        $html = ‘‘;
        if($url != ‘‘ && $text != ‘‘){
            $ch = curl_init($url);

            curl_setopt($ch,CURLOPT_REFERER,1);

            curl_setopt($ch,CURLOPT_HEADER,1);

            curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);

            curl_setopt($ch,CURLOPT_TIMEOUT,15);

            $fields = array(‘hl=zh-CN‘, ‘langpair=zh-CN|en‘, ‘ie=UTF-8‘,‘text=‘.urlencode(mb_convert_encoding($text, ‘UTF-8‘, ‘GB2312‘)));

            curl_setopt($ch,CURLOPT_POST,1);

            curl_setopt($ch, CURLOPT_POSTFIELDS, implode(‘&‘, $fields));
            $html = curl_exec($ch);

            if(curl_errno($ch)) $html = "curl_error";
            curl_close($ch);

        }

        return $html;

    }

}

//just for test
$g = new Google_API_translator();

$g->setText(‘我是谁!‘);

$g->translate();*/

function gtranslate($text,$to=‘zh-CN‘){
    $entext = urlencode($text);
    $url = ‘https://translate.google.cn/translate_a/single?client=gtx&dt=t&ie=UTF-8&oe=UTF-8&sl=auto&tl=‘.$to.‘&q=‘.$entext;
    set_time_limit(0);
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER[‘HTTP_USER_AGENT‘]);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_MAXREDIRS,20);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 40);
    curl_setopt($ch, CURLOPT_URL, $url);
    $result = curl_exec($ch);
    curl_close($ch);
    $result = json_decode($result);
    if(!empty($result)){
        foreach($result[0] as $k){
            $v[] = $k[0];
        }
        return implode(" ", $v);
    }
}
$longtext = "Why Should You Get Our Smart Trainer for your Little Munchkin? 
Upgraded Soft Waterproof Skin-Friendly Material: High-quality swimwear fabric and TPU film wrap which looks like leather but touches like skin. Fast dry and the bacteria are hard to breed on this foam baby swim float. Non-inflatable Air-Free Swim Trainer is the safest and durable float available in the market today

Upgraded Safety Buckles: The Upgraded safety buckle provides 5 support points and perfect 40° angle to keep the balance thus avoiding the baby to flip over and fall off. Upgraded into 2 swim ways for perfect Backstroke and Breaststroke. Backstroke Suitable for 3~12 months baby, Breaststroke Suitable for 3~24 months baby

Perfect Fit for Children: Suitable for babies weighing from 13 to 40 lbs. Suitable for Kids 3~24 months. Adjustable buckle at the back to suit most infant sizes. Easily adjustable with the attached Safety pin at the back of the float";
echo gtranslate($longtext);

 

PHP调用谷歌翻译

标签:ror   port   tac   init   调用   ids   red   html   client   

原文地址:https://www.cnblogs.com/xiaobingch/p/13050539.html


评论


亲,登录后才可以留言!