从字符串中删除一定长度的关键字

时间:2018-01-29 09:30:40

标签: php

我有一个很好的工作代码来从文本字符串$ meta中删除关键字,但我想知道如何从结果$ keywords中删除短于5个字母的单词。

preg_match_all("/\b((?:[A-ZÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝÆ]['a-zàèìòùáéíóúýâêîôûãñõäëïöüÿçßøåæœ]*\s*\d*)+)\b|\b((?:[a-zàèìòùáéíóúýâêîôûãñõäëïöüÿçßøåæœ]*[A-ZÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝÆ]['a-zàèìòùáéíóúýâêîôûãñõäëïöüÿçßøåæœ]*\s*\d*)+)\b/u", $meta, $matches);
$keywords = implode(",",$matches[0]);

2 个答案:

答案 0 :(得分:0)

只需使用array_filter函数

$keywords = array_filter($matches[0], function{ return strlen($x) >= 5; }); 
$keywords = implode(",",$keywords );

答案 1 :(得分:0)

如果loop匹配,您可以new array通过您的数组并将数据添加到criteria

$result = array();
foreach($keywords as $keyword){
      if(strlen($keyword)>5){
          $result[] = $keyword;
       }
}

print_r($result);