Php perg_替换字符串读取问题
在我的例子中,我只想从$input中删除字符串,这些字符串在$commonWords数组中可用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 = "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);