Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何知道网页的语言是否为英语?_Php_Detection - Fatal编程技术网

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

Php 如何知道网页的语言是否为英语?,php,detection,Php,Detection,我只是想知道一个网页是否是英文的。有什么好办法吗 我找到的最接近的是,但它对我有些用处 有什么建议吗 我有一个非英语的示例:似乎在你的链接问题中几乎有/有很多可能检测到一种语言。为什么不能使用其中一个建议答案 另一个解决方案(但不是可靠的)是查找包含语言信息的元标记,如: <meta name="DC.language" content="en" scheme="DCTERMS.RFC3066"> <meta name="keywords" lang="en" content=

我只是想知道一个网页是否是英文的。有什么好办法吗

我找到的最接近的是,但它对我有些用处

有什么建议吗


我有一个非英语的示例:

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

另一个解决方案(但不是可靠的)是查找包含语言信息的元标记,如:

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

可能没有一个完美的解决方案,您需要的是有一组检查并一次执行一个。根据tonymarschall的回答,如果html页面格式良好,您可能希望从能够检测语言的页面开始

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

试着找一份清单。本文还展示了您也可以使用的N-gram方法。

我用于检测语言。您获取文本片段并将其传递给他们的API。它可以检测大多数语言,而且非常准确。他们提供了一个免费的API,每天允许1000个请求,这对于中等程度的使用是可以接受的。否则价格就会飞涨

您也可以尝试谷歌翻译API:

还有这个:


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

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

    -C++ + Python绑定 谷歌浏览器的语言检测器。有到和其他语言的端口
  • - Java语言检测
  • 支持语言 检测

我有一个示例站点,页面中没有lang单词:我会搜索单词“the”。如果是英语,那么应该有很多“the”。不过,上面的俄语示例站点确实包含一些“the”。相关/重复问题:@AgA我刚刚用另一个更新了我的回复,允许每小时最多1000个免费请求。