PHP在字符串中直接删除单词

Tim*_*Tim 0 php preg-replace strpos preg-split

我正在编写一个搜索引擎.基本上,如果出现某个单词,我需要在该单词之后立即抓住并删除该单词.

如果出现"瑜伽"这个词,我需要在它之后删除这个词,这里是"垫子".所以我会得到:

$sentence="I like yoga mats a lot.";
$word="mats";
$result=I like yoga a lot.
Run Code Online (Sandbox Code Playgroud)

我看过strpos,但需要一个字.我也有preg_split它按名称删除单词,但我还需要按位置删除这个特定的单词.

$separate = preg_split('/\s+/', $sentence);
Run Code Online (Sandbox Code Playgroud)

考虑到它之后的单词并不总是垫子,我怎么能在'瑜伽'之后删除这个单词.我仍然需要很多话.

小智 6

此代码段应该可以满足您的需求:

$words = explode(' ', $sentence);
foreach (array_keys($words, 'yoga') as $key) {
  unset($words[$key+1]);
}
$sentence = implode(' ', $words);
Run Code Online (Sandbox Code Playgroud)

代码非常简单:用句子分隔句子,识别具有"瑜伽"值的所有键,取消设置下一个单词,并从剩余单词中重新构造句子.