我需要反复从文章中删除某些停用词。目前我正在使用函数 str_replace 来实现这一点。作为第一个参数,我使用停止列表数组变量来删除任何出现的停止词。这工作正常,除了它还会删除出现在单词中间的任何匹配项(即,如果停用词是“th”,它将从“the”、“then”等中删除“th”)。
现在,如果我使用纯文本提供参数,我可以在单词的两侧添加一个空格来纠正这种情况。但是,由于我使用的是可变数组,因此无法正常工作。我也尝试使用连接运算符,但这似乎不是函数内部的合法连接器。
当前代码如下所示:
$i = str_replace(" " . $swarray . " ", $string );
最佳答案
您需要改为使用 preg_replace
与字边界。例如下面我们只替换单词 the
同时避免更换 them
或 then
等等
$string = preg_replace('/\bthe\b/', '', $string);
关于php - 在 PHP 中替换 Word 的确切出现次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18442492/