如何删除PHP中的一些单词

cj3*_*333 4 php

我想从文章中删除所有介词(in,at,on ...),定冠词(a,an,...)和动词(是,是,是......).有没有一个简短的方法,PHP可以做到这一点?

$article= "the cup is on the table";// I want get an echo like "cup table" 
Run Code Online (Sandbox Code Playgroud)

Lon*_*ars 8

关键是确保您只替换整个单词(例如,不是"那里"中的"the"),您可以\b在PCRE中使用它们:

$words = array('in', 'at', 'on', 'etc..');
$pattern = '/\b(?:' . join('|', $words) . ')\b/i';
$article = preg_replace($pattern, '', $article);
Run Code Online (Sandbox Code Playgroud)

警告1:如果要删除的字数非常多,则可能会达到最大图案大小,在这种情况下,您可以为每个图案构建图案并将图案数组传递给preg_replace.

警告2:如果你要删除的单词可以包含对PCRE有意义的字符,那么你应该调用preg_quote($ word,'/')来使它们对模式安全.