Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.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 perg_替换字符串读取问题_Php - Fatal编程技术网

Php perg_替换字符串读取问题

Php perg_替换字符串读取问题,php,Php,在我的例子中,我只想从$input中删除字符串,这些字符串在$commonWords数组中可用 $input = "perg-replace my string perge replace"; function removeCommonWords($input){ $commonWords = array('my','perge'); return preg_replace('/\b('.implode('|',$commonWords).')\b/','',$input); }

在我的例子中,我只想从$input中删除字符串,这些字符串在$commonWords数组中可用

$input = "perg-replace my string perge replace";

function removeCommonWords($input){  
  $commonWords = array('my','perge');
  return preg_replace('/\b('.implode('|',$commonWords).')\b/','',$input);
}
我预期的结果是:

每个替换字符串替换”

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

-replace字符串替换”

如何告诉perg_replace阅读“perg replace”只有一个单词

更新:

以下代码适用于我:

return preg_replace('/(?<![-\'"])\b('.implode('|',$commonWords).')\b(?![-'"])i','',$input);
返回preg_replace('/(?试试这个…?)

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

// your string. $str = "perg-replace my string perge replace"; // list of keywords that need to be removed. $keywords = array('my','perge'); // iterate through the list. foreach($keywords as $keyword) { $str = preg_replace("/($keyword)/i","",$str); } echo $str; //你的绳子。 $str=“perg replace my string perge replace”; //需要删除的关键字列表。 $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);

似乎最近也解决了同样的问题:这有一些问题,请尝试下面的字符串“perg replace my string perge replace perg replace,just do it”,现在在数组“just”中再添加一个关键字。什么问题?我创建了这个,测试了这个,然后发布到这里。检查我给出的条件。好的,我用这个字符串测试了这段代码“perg replace my string perge replace perg replace,just do it”,我添加了另一个关键字do,结果是“perg replace string replace perg replace,just--it”,这是正确的。请解释我的代码有什么问题。我需要的结果是“just do it”而不是“just--it”,在我的例子中是“just do do it”“需要考虑”只有一个词。它有问题..尝试此字符串“perg replace my string perge replace,just do it”并添加数组(“/my/”、“/perge/”、“/just/”)上述代码工作正常“perg replace my string perge replace,just do it”字符串。如果有问题,请解释它是什么。对我来说,结果是这样的“perg replace string replace,-do it”好的,你对字符串的预期结果是“perg replace my string perge replace,just do it”?我的数组中有这么多单词。这对我很有用
return preg_replace('/(?)?
$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);