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,谢谢。