0

我想知道在 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";

在此操作之后,字符串将是“quick brown fox, farm, jumped over lazy dog and ate a”。

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

如何做到这一点?

4

1 回答 1

7

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

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

\b是单词分隔符。

于 2013-05-16T23:55:35.767 回答