有哪些代码片段用于检测utf-8文本块的语言?我基本上需要过滤大量的垃圾邮件,恰好是在中文和阿拉伯语。这有一个pecl扩展,但是我想用php代码来实现。我想我需要循环一个unicode字符串和一个unicode版本的ord(),然后为不同的语言创建某种范围表。

最佳答案

通过Google's language detection传送文本。你可以通过Ajax来实现这一点。这是documentation/developer's guide。例如:

<html>
  <head>
    <script type="text/javascript" src="http://www.google.com/jsapi"></script>
    <script type="text/javascript">

    google.load("language", "1");

    function initialize() {
      var text = document.getElementById("text").innerHTML;
      google.language.detect(text, function(result) {
        if (!result.error && result.language) {
          google.language.translate(text, result.language, "en",
                                    function(result) {
            var translated = document.getElementById("translation");
            if (result.translation) {
              translated.innerHTML = result.translation;
            }
          });
        }
      });
    }
    google.setOnLoadCallback(initialize);

    </script>
  </head>
  <body>
    <div id="text">你好,很高興見到你。</div>
    <div id="translation"></div>
  </body>
</html>

08-18 13:04