如何知道网页的语言是否为英文?

时间:2012-03-20 17:37:04

标签: php detection

我只是想知道网页是否是英文。有没有好办法呢?

我发现的最近的是Detect language from string in PHP,但它对我有用..

有什么建议吗?

我的样本非英语site

4 个答案:

答案 0 :(得分:2)

似乎在链接问题中检测语言几乎有很多/很多可能性。为什么你不能使用其中一个建议的答案?

另一个解决方案(但不可靠)是使用以下语言信息查找元标记:

<meta name="DC.language" content="en" scheme="DCTERMS.RFC3066">
<meta name="keywords" lang="en" content="some content">
<meta http-equiv="content-language" content="en">

答案 1 :(得分:1)

可能没有完美的解决方案,您需要的是一组检查并一次执行一个。如果根据tonymarschall的答案html页面形成良好,你可能想要从可以检测语言的那些开始。

作为后备检查,您可以使用英语stopwords列表,它们会在搜索引擎中用于过滤掉某种语言中最常见的单词。在您的情况下,您将必须在html页面的文本部分计算它们的出现次数。如果它们高于某个值,你可以很好地猜测你正在看英文文本。

尝试查看here以获取列表。此外,this文章还显示了您也可以使用的N-gram方法。

答案 2 :(得分:1)

我使用http://www.alchemyapi.com/来检测语言。您将获取文本片段并将其传递给API。它可以检测大多数语言并且非常准确。他们提供免费的API,每天允许1,000个请求,适合中等使用。否则价格会飙升。

您还可以尝试使用Google翻译API:

http://code.google.com/apis/language/translate/v2/getting_started.html#language_detect

然后就是这个:

http://langid.net/identify-language-from-api.html

他们提供了一些免费的请求,但我不知道它们有多准确。绝对值得一看。

答案 3 :(得分:1)

可能感兴趣的一些项目包括: