php - 在 PHP 中替换 Word 的确切出现次数?

标签 php

我需要反复从文章中删除某些停用词。目前我正在使用函数 str_replace 来实现这一点。作为第一个参数,我使用停止列表数组变量来删除任何出现的停止词。这工作正常,除了它还会删除出现在单词中间的任何匹配项(即,如果停用词是“th”,它将从“the”、“then”等中删除“th”)。

现在,如果我使用纯文本提供参数,我可以在单词的两侧添加一个空格来纠正这种情况。但是,由于我使用的是可变数组,因此无法正常工作。我也尝试使用连接运算符,但这似乎不是函数内部的合法连接器。

当前代码如下所示:

$i = str_replace(" " . $swarray . " ", $string );

最佳答案

您需要改为使用 preg_replace 与字边界。例如下面我们只替换单词 the同时避免更换 themthen等等

$string = preg_replace('/\bthe\b/', '', $string);

关于php - 在 PHP 中替换 Word 的确切出现次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18442492/

相关文章:

php - 编写不包含协议(protocol)的链接

php - 在 PHP 中使用新设备提示登录

php - Stripe Webhook 不工作

php - 如何使用 Ajax 动态加载 Javascript 函数?

php - Laravel - selectRaw( count(*) ) 返回为字符串而不是整数?

php - 您的系统缺少扩展名 gd - laravel composer Update

php - 无法使用 PHPMyAdmin 更改 MySQL 列类型

php - 在codeigniter中如何使用ajax登录后重定向

javascript - 使用 JavaScript 复制表格行时,输入字段不显示

javascript - 在 `span` 标签上捕获 onClick 事件