我想知道在PHP中执行以下操作的最佳方法是什么。
我有一个要忽略的单词数组,我想从字符串中删除这些单词的所有实例。但无论数组中每个元素的单词是什么,都必须使用单词。
一个例子:
如果数组是:
$ignoreList = array(
"1" => "one",
"2" => "at",
"3" => "chicken",
"4" => "the"
);
,字符串是
$str = "The one quick brown fox, at the farm, jumped over the lazy dog and ate a chicken";
在这次行动之后,这个字符串将是“快速的棕色狐狸,农场,跳过懒狗,吃了”。
字符串不必包含这些单词,但如果有,则删除它们。
如何做到这一点?
答案 0 :(得分:7)
您可以使用快速正则表达式:
$str = preg_replace('/\b('. implode('|',$ignoreList) .')\b/i', '', $str);
\b
是字分隔符。