从字符串中删除数组中的所有单词实例

时间:2013-05-16 23:52:34

标签: php regex string

我想知道在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";
在这次行动之后,这个字符串将是“快速的棕色狐狸,农场,跳过懒狗,吃了”。

字符串不必包含这些单词,但如果有,则删除它们。

如何做到这一点?

1 个答案:

答案 0 :(得分:7)

您可以使用快速正则表达式:

$str = preg_replace('/\b('. implode('|',$ignoreList) .')\b/i', '', $str);

\b是字分隔符。