Perg_replace字符串读取问题


perg_replace string reading issue

在我的情况下,我只是想从$input中删除字符串,这些字符串在$commonWords数组中可用。

$input = "perg-replace my string perge replace";
function removeCommonWords($input){  
  $commonWords = array('my','perge');
  return preg_replace('/'b('.implode('|',$commonWords).')'b/','',$input);
}

我期望的结果是:

perg-replace string replace

但是,我从上面的函数得到的结果是:

"-replace string replace"

如何告诉perg_replace读取" perg_replace "有一个单词?

更新:

下面的代码为我工作:

return preg_replace('/(?<![-''"])'b('.implode('|',$commonWords).')'b(?![-'"])i','',$input);

试试这个…

?
function removeCommonWords($input) {
  $commonWords = array('my','perge');
  return implode(' ', array_filter(explode(' ', $input), function($word) use ($commonWords) {
    return !in_array($word, $commonWords);
  }));
}

试试这个:

<>之前//你的字符串。$str = "字符串替换";//需要删除的关键字列表。$keywords = array('my','perge');//遍历列表。Foreach ($keywords作为$keyword){$str = preg_replace("/($keyword)/i",",$str);}echo $ str;

试试这个,

$input = "perg-replace my string perge replace";
function removeCommonWords($input){  
  $commonWords = array('/my/','/perge/');
  return preg_replace($commonWords,'',$input);
}
echo removeCommonWords($input);
$input = "perg-replace my string perge replace";
function removeCommonWords($input){  
  $commonWords = array('my','perge');
  return preg_replace('/'b('.implode('|',$commonWords).')'b/','',$input);
}
echo removeCommonWords($input);