$data = "google,bing,searchengine,seo,search";
$exp = explode(",",$data);
$filtr = array("google","bing");
$fdat = str_replace($filtr,"",$data);
$clean = implode(",",$fdat);
echo $clean;
Run Code Online (Sandbox Code Playgroud)
这放弃了 ,,searchengine,seo,search
如何摆脱前两个空白逗号?
最好区分你的分裂数组$exp减去$filtr:
$clean = implode(',', array_diff($exp, $filtr));
Run Code Online (Sandbox Code Playgroud)
这也将避免你只删除另一个单词的子字符串的机会,比如当car从中bike,car,carpet导入bike,carpet而不是从中导出时bike,pet.
如果你想在每个单词之前和之后允许空格,请考虑使用trim和preg_split:
$exp = preg_split('/\s*,\s*/', trim($data));
Run Code Online (Sandbox Code Playgroud)
trim将删除任何前面和尾随的空格和模式,以preg_split允许逗号周围的空格.