php用正则表达抓取网页中文章(我正在使用PHP中的一些代码从搜索引擎中获取引荐来源)
优采云 发布时间: 2021-11-26 22:01php用正则表达抓取网页中文章(我正在使用PHP中的一些代码从搜索引擎中获取引荐来源)
我在 PHP 中使用一些代码从搜索引擎获取引用数据,从而为我提供用户输入的查询。
然后,我想从该字符串中删除一些停用词(如果存在)。但是,单词的两端可能有也可能没有空格。
比如我一直使用str_replace删除单词如下:
$keywords = str_replace("for", "", $keywords);
$keywords = str_replace("sale", "", $keywords);
但是,如果$keywords 的值是“婴儿配方奶粉”,则会改为“婴儿奶粉”——删除“for”部分。
不需要再创建str_replace,也就是解释“for”和“for”——是否可以使用preg_replace类型命令删除给定的单词,如果发现单词两端有空格?
我的想法是把所有的停用词放到一个数组中,按照这种方式一步步执行,我怀疑preg_replace比单步遍历多条str_replace行要快。
更新:
感谢您使用以下组合:
$keywords = "...";
$stopwords = array("for","each");
foreach($stopwords as $stopWord)
{
$keywords = preg_replace("/(\b)$stopWord(\b)/", "", $keywords);
}
解决方案:
$keywords = "...";
$stopWords = array("for","sale");
foreach($stopWords as $stopWord){
$keywords = preg_replace("/(\b)$stopWord(\b)/", "", $keywords);
}
标签: php, regex, preg-replace