PHP使用Google的translate API

  •   2009-07-31/22:47
  • 这里我还是接上话使用Google的translate工具翻译 .NET translate API的一篇文字,上篇是c#实现的,我这里再用PHP实现一下。

      新建一个ANSI的PHP文件,然后创建一个类:


      header("Content-Type: text/html; charset=utf-8");

    class Google_API_translator{
        public $opts = array("text" => "", "language_pair" => "en|it");
        public $out = "";

        function setOpts($opts) {
            if($opts["text"] != "") $this->opts["text"] = $opts["text"];
            if($opts["language_pair"] != "") $this->opts["language_pair"] = $opts["language_pair"];
        }

        function translate() {
            $this->out = "";
            $google_translator_url = ""])."&;";
            $google_translator_data .= "text=".urlencode($this->opts["text"]);
            $gphtml = $this->postPage(array("url" => $google_translator_url, "data" => $google_translator_data));
            $out = substr($gphtml, strpos($gphtml, "

    "));
            $out = substr($out, 29);
            $out = substr($out, 0, strpos($out, "
    "));
            $this->out = utf8_encode($out);
            return    $this->out;
        }
       
        function postPage($opts) {
            $html ='';
            if($opts["url"] != "" && $opts["data"] != "") {
                $ch = curl_init($opts["url"]);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt($ch, CURLOPT_HEADER, 1);
                curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
                curl_setopt($ch, CURLOPT_TIMEOUT, 15);
                curl_setopt($ch, CURLOPT_POST, 1);
                curl_setopt($ch, CURLOPT_POSTFIELDS, $opts["data"]);
                $html = curl_exec($ch);
                if(curl_errno($ch)) $html = "";
                curl_close ($ch);
            }
            return $html;
        }
    }
    ?>

    使用的时候


    $g = new Google_API_translator();
    $g->setOpts(array("text" => "Cjjer是天才", "language_pair" => "zh-CN|en"));
    $g->translate();
    echo $g->out;
    ?>


    这样就可以了,输出:Cjjer is genius

    PHP的就这里,参见了部分同学的部分代码。具体忘了。

    这段代码不好。。。但可以用,懒得管啦。。


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多