Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.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_Arrays - Fatal编程技术网

Php 以术语数组(或字符串)为例,如何有效地删除常用术语?

Php 以术语数组(或字符串)为例,如何有效地删除常用术语?,php,arrays,Php,Arrays,这是一个有点模棱两可的问题,对此我深表歉意 我使用以下代码从$\u POST值中提取了大量单词: $text2check = array(); $fields = array( "etymology", "distribution", "habitat", "max_size", "aquarium_size", "maintenance", "water_chemistry", "diet", "behaviour", "dimorphism", "reprodu

这是一个有点模棱两可的问题,对此我深表歉意

我使用以下代码从
$\u POST
值中提取了大量单词:

$text2check = array();          

$fields = array( "etymology", "distribution", "habitat", "max_size", "aquarium_size", "maintenance", "water_chemistry", "diet",
    "behaviour", "dimorphism", "reproduction", "misc_notes" );

$fields = array( "distribution" );

foreach ( $_POST as $key => $value ) {
    if ( in_array( $key, $fields ) ) {
        $text2check = array_merge( $text2check, explode( " ", strip_tags( utf8_decode( $value ) ) ) );
    }
}
我想做的是——以绝对最大的效率——删除某些词语:

  • 复制品
  • 4个字符以下的单词
  • 通用术语
常用术语是我不太熟悉的。如何确定一个常用词?这仅仅是对互联网上的一系列常用术语进行硬编码并与之进行比较的一个例子吗

将阵列与阵列进行比较时,最有效的方法是什么


编辑:解释

这个函数背后的目的对我来说有点复杂。根据答案,我正在尝试运行一个内容过滤器,它会检查某些术语,然后将它们链接到我网站的其他部分。由于每篇文章都有大量的单词和大量的潜在链接,我试图在运行过滤器之前进行预检查,以减少运行过滤器所需的链接数量

因此,通用术语基本上是任何经常出现的东西,当然不会被联系起来;经常使用的术语,如“有时”、“显然”等



提前感谢,

对于删除重复项,array_unique()将起到作用

四个字符以下的单词,只需在数组中循环并检查


就常用术语而言,您可以循环遍历数据并删除出现次数超过X次的术语,但我认为您必须对它们进行硬编码。

常用术语的定义是什么?对我来说,它可能意味着任何东西,松散相关的术语,重复的术语……你需要一个通用术语的操作定义。你有一个你正在使用的规范吗?如果没有,那么我想你可以自由地提出你自己的常用词规范,并使用它。我想一定有一些网站列出了英语中最常用的词……我会用常用词的定义更新我的OP,谢谢。